1

对于这种 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>

这仅显示空框 - [ ]

似乎是什么问题。

4

0 回答 0