2012-01-31 3 views
0

ルビーのテーブルに問題があります。私はプレフィックスやタイトルでクラスを検索できるようにしているので、found_by_prefixまたはfound_by_titleページに送信し、find_all_by_prefix(params[:prefix])を使用する必要があります。だから私がそれをしたときにエラーが発生していたので、それを調べて<%[email protected](&:prefix).join(', ')%>を使用すると、私のテーブルにあるすべてのコースを見つけることができましたが、すべての結果を1つの行に入れます。私はちょうど4つの結果のための4つの行を作る方法を知りたい!find_all_by Rubyを使用するとエラーが発生する

コントローラー:

def found_by_prefix 
     @course = Course.find_all_by_prefix(params[:prefix]) 
end 

ビュー:結果を通じて

<table border=1> 
<tr><th>id</th><th>prefix</th><th>number</th><th>title</th><th>section</th></tr> 
<tr> 
<td><%[email protected](&:id)%></td> 
<td><%[email protected](&:prefix).join(', ')%></td> 
<td><%[email protected](&:number).join(', ')%></td> 
<td><%[email protected](&:title).join(', ')%></td> 
<td><%[email protected](&:section).join(', ')%></td> 
</tr> 
</table> 
+0

この記事を読む:http://guides.rubyonrails.org/active_record_querying.html – shibly

答えて

0

だけループ、それぞれの行を作成:

また
<% @course.each do |course| %> 
    <tr> 
     <td><%= course.id %></td> 
     <td><%= course.prefix %></td> 
     <td><%= course.number %></td> 
     <td><%= course.title %></td> 
     <td><%= course.section %></td> 
    </tr> 
<% end %> 

、あなたはおそらく、あなたのインスタンスに名前を付ける必要がありますは@courseではなく、コレクションであり、罪ではないためですgleモデルオブジェクト。

関連する問題