2016-03-10 5 views
0

Я разрабатываю кнопку принятия для принятия компанией студента, подавшего заявку на определенную работу. Студент может применять много рабочих мест, принадлежащих одной компании. Я создал accept модель, которая принадлежит student, company, and job.Неверный аргумент в коллекции выделенных ящиков

Итак, я хочу перечислить все задания, на которые студент применил и передать их как job_id, когда компания нажимает кнопку «Принять». Здесь у меня есть эти части формы:

<%= form_for([@student, @student.accepts.new]) do |f| %> 
    <%= f.hidden_field :student_id, value: @student.id %> 
    <%= f.collection_select(:job_id, @student.jobs, :id) %> 
    <%= f.submit 'Accept', class: 'btn btn-success' %> 
<% end %> 

А вот то, что я хочу для того чтобы достигнуть в консоли:

> @student.accepts.new(student_id: 1, job_id: 1) 
=> #<Accept id: 1, student_id: 1, company_id: 1, job_id: 1, created_at: nil, updated_at: nil> 

Текущая частичная форма будет генерировать эту ошибку:

ArgumentError in Students#show

wrong number of arguments (3 for 4..6)

с красным выделите эту строку кода:

<% = f.collectio n_select (: job_id, @ student.jobs,: id)%>

Должно быть что-то не так с моим выбором, но не может понять, что с ним не так.

ответ

0

я изменить эту строку кода:

<%= f.collection_select(:job_id, @student.jobs, :id) %> 

к

<%= f.collection_select(:job_id, @student.jobs, :id, :job_title) %> 

, и теперь он работает. Просто глупая ошибка.

 Смежные вопросы

  • Нет связанных вопросов^_^