gpt4 book ai didi

has-many-through - 导轨 4 : checkboxes with a has_many through

转载 作者:行者123 更新时间:2023-12-04 17:36:45 28 4
gpt4 key购买 nike

我正在构建一个应用程序,该应用程序必须向多个雇主分配任务。

我已经建立了这些模型:

#assignment.rb
class Assignment < ActiveRecord::Base
has_many :employer_assignments
has_many :employers, :through => :employer_assignments
end

#employer.rb
class Employer < ActiveRecord::Base
has_many :employer_assignments
has_many :assignments, :through => :employer_assignments
end

#employer_assignment.rb
class EmployerAssignment < ActiveRecord::Base
belongs_to :employer
belongs_to :assignment
end

现在我希望将表单保存到雇主分配表,但我用于表单的以下代码不起作用。
<div class="field">
<%= f.label :employer_ids %><br />
<%= collection_check_boxes(:assignment, :employer_ids, Employer.all, :id, :name) %>
</div>

我确实将 :employer_ids 添加到我的分配 Controller 中,我尝试从该 Controller 发送创建分配但不会在雇主_分配表中创建记录的表单。
当我通过控制台添加它们时( Assignment.last.employers << Employer.all
) 一切正常。我确定我错过了一些东西,但无法弄清楚是什么。

提前致谢。

最佳答案

您可能会收到 Unpermitted parameters:由于 rails4 中的强参数(@emil-kampp 提到了这一点),在您的日志中,在生成新的 rails 后,它们会在您的 Controller 中生成。所以使用你的代码它看起来像:

class EmployersController < ApplicationController
# <snip>
def update
@employer.update(employer_params)
end

def employer_params
params.require(:employer).permit(:name, { :employer_ids => [] })
end
end

另见此 Question在 SO 上回答了这个问题。希望这可以为某人节省几个周期。

关于has-many-through - 导轨 4 : checkboxes with a has_many through,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16339869/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com