Rails:Ransack Gem使用下拉列表 - “未定义的方法名称”错误

时间:2016-11-11 15:31:41

标签: ruby-on-rails ruby ransack

我正在使用Ransack gem为我的表创建一个过滤器表单。

在我的控制器中(我从另一个表中获取过滤器选项): homeworks_controller:

...     @q = Homework.search(params[:q])
        @sub = Homework.find_by_sql("SELECT subject FROM classmodules GROUP BY subject").map &:subject
        @q.build_condition if @q.conditions.empty?
        @q.build_sort if @q.sorts.empty?
...

在我看来

<%= search_form_for @q do |f| %>
     <%= f.select :subject_eq, @sub %>
    <%= f.submit %>
  <% end %>

模型

        classmodule.rb
        has_many :homeworks, :class_name => 'Homework'

        homework.rb
        belongs_to :classmodule, :class_name => 'Classmodule', :foreign_key => :subject    

我得到nil:NilClass的“undefined method`name'作为错误。

我搜索了一个答案,但没有什么可靠的,并尝试了一些建议的解决方案。我被卡住了,有什么想法吗?感谢

0 个答案:

没有答案