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 に答える