我正在尝试实现“类别”的无序列表,如果您单击特定类别,则属于该类别的所有照片(锯齿)都会显示在屏幕上。我的观点包括类别是:
<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 做 |@c| ;@output_buffer.safe_concat('].
如果我运行此代码,我会收到一个 SQLlite 错误 [SQLite3::SQLException: near "[:id]": syntax error: SELECT COUNT(*) FROM "jags" WHERE (category_id = params[:id])]。