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