【问题标题】:Rails Simple Form Gem not setting association idRails Simple Form Gem 未设置关联 ID
【发布时间】:2014-05-03 22:24:41
【问题描述】:

我正在尝试使用简单表单 gem 来使用关联填充选择框。我有两个相关的模型:job_categoryjob_type

job_category has_many job_types

job_type 属于 job_category

我已成功使用此表单填充选择框,

= simple_form_for(@job_type) do |f|  
  = f.error_notification

  .form-inputs  
    = f.input :name  
    = f.association :job_category, :include_blank => false, :label_method => :name  
  .form-actions  
    = f.button :submit  

当我点击我的创建路线时,它正在创建一个job_type 对象,但job_type 中的job_category_id 字段没有被设置。

当我转到命令行时,我可以使用

成功创建新作业
JobType.create(name: "Test", job_category_id: 1)

使用Chrome developer tools 检查帖子显示job_category_id 作为post 的一部分发送过来,所以我不知道为什么这不起作用。

【问题讨论】:

  • 您能否分享提交此表单时生成的服务器日志。您可以从运行rails server 的终端获取它。将其添加到问题中。
  • 您能向我们展示您的创建操作引用的参数方法吗?你在使用accepts_nested_attributes_for吗?

标签: ruby-on-rails simple-form


【解决方案1】:

如果您使用的是 Rails 4,能否确认您已将 :job_category_id 添加到 JobTypesController 中的 job_type_params 方法中?

如果没有,请确保 :job_category_id 在您的 job_type_params 方法中。

如果您使用的是 :job_category_id 添加到您的 attr_accessible

【讨论】:

  • 做到了。我的 params 方法允许:job_category 和它的字段,但不允许 job_category_id。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-23
  • 1970-01-01
相关资源
最近更新 更多