0

ルビーのテーブルに問題があります。ユーザーがプレフィックスまたはタイトルでクラスを検索できるようにしているので、それらはfound_by_prefixまたはfound_by_titleページに送信され、を使用する必要がありますfind_all_by_prefix(params[:prefix])。それで、私がそれをしたとき、私はエラーを受け取っていたので、それを調べて、使用<%=@course.map(&:prefix).join(', ')%>すると私のテーブルにあるすべてのコースが配置されるが、すべての結果が1行に表示されるだけであることがわかりました。4つの結果に対して4つの行を作成する方法を知りたいだけです!

コントローラ:

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><%=@course.map(&:id)%></td>
<td><%=@course.map(&:prefix).join(', ')%></td>
<td><%=@course.map(&:number).join(', ')%></td>
<td><%=@course.map(&:title).join(', ')%></td>
<td><%=@course.map(&:section).join(', ')%></td>
</tr>
</table>
4

1 に答える 1

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 %>

また、単一のモデル オブジェクトではなくコレクションを表しているため、インスタンス変数@coursesに名前を付ける必要があります。@course

于 2012-01-31T01:05:08.327 に答える