按category_id查找

时间:2010-02-09 04:02:35

标签: ruby-on-rails

在我的搜索表单中,我有一个collection_select功能可以选择一个类别。

<% form_tag search_places_path do -%>
   <%= collection_select(:place, :category_id, Category.all, :id, :name) %>

当我在控制器中尝试这个时:

 @places = Place.find(:all, 
                  :conditions => ["category_id = ?", params[:category_id]])

我在搜索日志中看到category_id = null

当我尝试 -

@places = Place.find(:all, 
                  :conditions => ["category_id = ?", params[:place]])

我在搜索记录中得到(((category_id = '--- \n- category_id\n- \"1\"\n')

这里适当的条件陈述是什么?

1 个答案:

答案 0 :(得分:2)

由于category_idplace对象中“嵌套”,您需要使用params[:place][:category_id]检索它:

@places = Place.all(:conditions => ["category_id = ?", params[:place][:category_id] ])