我有一个数据库,我想通过按下按钮从中选择数据 运行$ rails c
1.9.2p290 :001 >Book.find_by_price("50")
# => #<Book id: 1, price: "50"><Book id: 2, price: "50"><Book id: 3, price: "50">
在控制台中,他找到了正确的信息,但是如何在视图中显示它? 我试着在控制器中编写一个方法。
books_controller.rb
class BooksController < ApplicationController
def index
@books = Book.all
@metod = Book.find_by_price("50")
end
#...
end
然后,在视图中
view/books/index.html.erb
<%= link_to @metod %>
但它不起作用。请告诉我它是如何完成的?
我希望在单击视图中的按钮时显示这些数据。
答案 0 :(得分:1)
您可以使用循环从@books
获取所有值@books.each do |book|
<%= book.name %>
<%= book.price %>
end
做
@metod = Book.find_by_price("50")
@metod是一个实例变量,要访问它,你可以做@metod.price
答案 1 :(得分:0)
如果您使用ActiveRecord的动态查找器,find_by_price
应该返回单个记录。但是在控制台输出中,它返回一个数组,所以我假设您在Book模型中手动创建了该方法。如果预期的输出是列出价格为50的所有书籍,请在视图中使用以下代码。
<% @metod.each do |book| %>
<%= link_to book, book %>
<% end %>
此代码循环遍历@metod
中的每本书,并显示指向其相应控制器的show
操作的链接。