select 框集合中的参数错误
Wrong argument in select box collection
我正在为公司开发接受按钮,以接受申请特定工作的学生。学生可以申请一家公司拥有的许多工作。我创建了属于 student, company, and job
个模型的 accept
个模型。
所以,我想列出学生申请的所有工作,并在公司点击接受按钮时将其作为 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.collection_select(:job_id, @student.jobs, :id) %>
我的 select 一定有问题,但无法弄清楚它有什么问题。
我更改这行代码:
<%= f.collection_select(:job_id, @student.jobs, :id) %>
至
<%= f.collection_select(:job_id, @student.jobs, :id, :job_title) %>
现在可以正常使用了。只是一个愚蠢的错误。
我正在为公司开发接受按钮,以接受申请特定工作的学生。学生可以申请一家公司拥有的许多工作。我创建了属于 student, company, and job
个模型的 accept
个模型。
所以,我想列出学生申请的所有工作,并在公司点击接受按钮时将其作为 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.collection_select(:job_id, @student.jobs, :id) %>
我的 select 一定有问题,但无法弄清楚它有什么问题。
我更改这行代码:
<%= f.collection_select(:job_id, @student.jobs, :id) %>
至
<%= f.collection_select(:job_id, @student.jobs, :id, :job_title) %>
现在可以正常使用了。只是一个愚蠢的错误。