0

我有一个数据库,我想通过按一个按钮从中选择数据。
运行 $ 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 %>

但它不起作用。请告诉我它是如何完成的?
我希望在单击视图中的按钮时显示这些数据。

4

2 回答 2

1

您可以使用循环从@books 获取所有值

@books.each do |book|
  <%= book.name %>
  <%= book.price %>
end

正在做

@metod = Book.find_by_price("50")

@metod 是一个实例变量,要访问它,您可以使用 @metod.price

于 2013-04-24T11:59:10.967 回答
0

如果您使用 ActiveRecord 的动态查找器,find_by_price则应返回单个记录。但是在控制台输出中,它返回一个数组,所以我假设您在 Book 模型中手动创建了该方法。如果预期的输出是列出价格为 50 的所有书籍,请在您的视图中使用以下代码。

<% @metod.each do |book| %>
  <%= link_to book, book %>
<% end %>

此代码循环浏览每本书@metod并显示一个链接,该链接指向show其相应控制器的操作。

于 2013-04-24T12:05:09.727 回答