0

特定のカテゴリをクリックすると、そのカテゴリに属する​​すべての写真(ジャグ)が画面に表示される「カテゴリ」の順序付けられていないリストを作成しようとしています。カテゴリを含む私の見解は次のとおりです。

<div id = "Categories">
<h2>Categories</h2>
<ul><% @cat.each do |c| %>
    <li><%=link_to c.name, c,:controller => "category", :action => "show"  %>
    </li>
<% end %>
</ul>

私のカテゴリコントローラーは次のとおりです。

def show
@jags = Jag.where("category_id = params[:id]")
   if @jags.empty?
     flash[:notice] = "No jags in this Category"
    end
end

そして最後に私のショービューは次のとおりです。

<%= render 'nav' %>
<div><% @jags.each do |j| %>
<%=  image_tag j.image_url(:thumb)%>
<% end %>
</div>

私が抱えている問題は、最初のビューの「特定のカテゴリ」(c)をカテゴリコントローラに渡す方法がわからないことです。

cをインスタンス変数(@c)にしてみましたが、どうやらできません[正式な引数をインスタンス変数にすることはできません'); @ cat.each do | @c | ; @ output_buffer.safe_concat(']。

このコードを実行すると、SQLliteエラー[SQLite3 :: SQLException:near "[:id]":構文エラー:SELECT COUNT(*)FROM "jags" WHERE(category_id = params [:id])]が発生します。

4

2 に答える 2

1

RESTful コントローラーを使用する場合は、これで十分です。

<div id = "Categories">
<h2>Categories</h2>
<ul>
<% @cat.each do |c| %>
    <li><%=link_to c.name, c  %></li>
<% end %>
</ul>
于 2012-12-17T17:01:58.863 に答える
1

コントローラーでカテゴリーのIDを取得しているので、次のことができます

@category = Category.find params[:id]

あなたのコントローラーで。link_toまた、以下のようにヘルパーをクリーンアップします。

于 2012-12-17T17:02:12.907 に答える