在Rails中如何接收标记的数据?

问题描述 投票:-1回答:1

在我的索引页面中,我有:

<% @book.each_slice(2) do |book, b| %>
 <%= book.title %>
 <%= book.description %>
 <%= link_to 'Order', order_books_path(:id => book.id)%>
<% if b %>
 <%= b.title %>
 <%= b.description %>
 <%= link_to 'Order', order_books_path(:id => book.id)%>
<% end %>
<% end %>

该链接成功点击到订单页面的路径,并且URL指示与该书相关联的编号(例如:/book / order.2)。

我正在努力的地方在订单页面上指出2。

在我的订单页面中,我有:

<% @book.each_slice(2) do |book, b| %>
 <%= book.title %>
 <%= book.description %>

 <% if b %>
 <%= b.title %>
 <%= b.description %>

<% end %>
<% end %>

本质上我如何从Rails接收和标记CSS?

对于我的控制器,我有:

class BooksController < ApplicationController
 def index
 @book = Book.all
 end

 def order
  @book = Book.all
 end

 def show
  @book = Book.find(params[:id])
 end

 end

我可以用jQuery(CSS),JS(收集/解析变量)和HTML(包含变量)来做到这一点,但我不知道如何应用Rails。

编辑:我更新了索引上的链接,将书籍ID作为参数传递。然后对于订单页面,我猜测需要在HTML上进行收集以标记选择。所以我已经将我的订单页面更新为接近这个:

<% @book.each_slice(2) do |books| %>
 <div class="row">
  <% books.each do |book| %>
   <div class="col-md-6">
    <div class="book-container <% selected if book.id == params[:id] %>">
    <%= book.title %>
    <%= book.description %>

这不起作用,但是如果book.id == params [:id]%>,我是否正确地使用<%选择标记为活动?

ruby-on-rails
1个回答
1
投票

您只需在现有行中进行更改:

<%= selected if book.id == params[:id].to_i %> 

to_i可以帮助您将字符串id转换为int。希望这会帮助你。

© www.soinside.com 2019 - 2024. All rights reserved.