对于这种 habtm 关系 b/w 列表和类别,列表必须通过从同一类别模型填充的两个选择框进行过滤,显示属于一个或两个类别的列表。
在 dbconsole 中检查时,sql 正在返回正确的列表,但在应用程序中没有。
类别控制器
def index
@categories = Category.all
end
def show
@category = Category.find_by_sql ["select place from listings l , categories c, categories_listings cl where c.id = cl.category_id and l.id = cl.listing_id and name in (?,?)" , params[:name][:id] , params[:name][:id]]
end
分类索引页面
<%= form_for :categories, :url => {:action => :show}, :method => "get" do |f| %>
<div class="field">
<%= f.label :category %><br />
<%= collection_select(:name, :id, Category.all, :id, :name) %>
</div>
<div class="field">
<%= f.label :category %><br />
<%= collection_select(:name, :id, Category.all, :id, :name) %>
</div>
<div class="actions">
<%= f.submit "Submit" %>
</div>
<% end %>
类别展示页面
<ul>
<% @category.each do |c| %>
<li><%= c %></li>
<% end %>
</ul>
这仅显示空框 - [ ]
似乎是什么问题。