У меня есть grouped_collection_select
, где я хотел бы ограничить записи отображаемыми задачами, которые не закрыты. Я могу легко фильтровать записи, отображаемые в группе opt списка коллекции. Но я не могу отфильтровать записи уровня уровня (group_method).Rails grouped collection select limit list
Это в моей целевой модели:
scope :tasknotclosed, where("taskstatus_id != (?)", 3)
Это текущий выбор:
<%= f.grouped_collection_select :task_id, Workorder.wonotclosed.order(:description), :tasks, :description, :id, :taskname, :include_blank => 'Select:' %>
Вместо :tasks
, я хотел бы использовать что-то вроде Task.tasknotclosed.all
Но, что дает мне:
syntax error, unexpected '['
Спасибо за помощь!
UPDATE 1
Я попытался добавив в модели задачи:
def tasknotclosed?
self.taskstatus_id != 3
end
И изменил выбор на:
<%= grouped_collection_select(:tasks, :task_id, Workorder.wonotclosed.order(:id), :task.tasknotclosed?, :description, :id, :taskname, :include_blank => true) %>
Но я получаю:
undefined method `tasknotclosed?' for :task:Symbol
UPDATE2
Я изменил выбор в события образуют так:
<%= f.grouped_collection_select :task_id, @workorderlist, @tasklist, :description, :id, :taskname, :include_blank => 'Select:' %>
И контроллер События этого:
def new
@event = Event.new
@tasklist = Task.where("showtimer == (?)", true).order(:taskname)
@workorderlist = Workorder.where("wostatus_id != (?)", 15).order(:description)
@workorderlist
работает так, как я ожидал.
Но, то @tasklist дает мне
syntax error, unexpected $end
http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/grouped_collection_select есть некоторые довольно объяснительные примеры. – xlembouras