我在Rails应用程序中使用JS和HTML的混合构建了几个页面,它很丑陋且重复。所以我通过试图以Rails的方式回去。
所以我构建了控制器,索引页面和显示页面。我正在购买商品的订单页面上工作。基本上我需要将索引页面上的项目链接到订单页面。
我有以下应该有效(不是,但这是另一个问题):
<%= link_to 'Order', order_books_path(@book) %>
这些链接位于每本书的旁边。理想情况下,当一个人点击该书时,它会进入显示所有书籍的订单页面,并标记刚刚点击的书籍。
在我的JS / HTML混搭中,我应用了一个变量,当它出现在页面加载时,它使该书处于活动状态。
最好的Rails方法是什么?
编辑:我的控制器在这一点上非常小,我只是:
class BooksController <ApplicationController
def index
@book = Book.all
end
def order
@book = Book.find(params[:id])
end
def show
@book = Book.find(params[:id])
end
end
我可以想象我的订单方法也是错误的。
答案 0 :(得分:0)
假设您在books#index
路线上,我假设您有完整的图书清单要显示。在这种情况下,以下内容适用于books/index.html.erb
:
# books/index.html.erb
# @books is your list of books => [Book1, Book2, ...etc]
@books.each do |book|
<div> <%= book.title %> </div>
# other misc book info
<%= link_to 'Order', order_books_path(book) %>
# assuming the order_books_path is the correct route
end