Rails外键在保存后始终为null

时间:2013-10-25 14:41:08

标签: ruby-on-rails

我有两个型号,

class ProcessType < ActiveRecord::Base
has_many :remarks

validates :code, :name, presence: true
end

class Remark < ActiveRecord::Base
belongs_to :process_type
belongs_to :origin

validates :description, presence: true
end

外键设置正确,备注表格中有 process_type_id 列。

在“创建”表单上,我使用select:

显示可用的进程
<%= simple_form_for @remark do |f| %>
  <%= collection_select(:remark, :process_type_id, ProcessType.all, :id, :name) %>

  <%= f.input :description, label: 'Description' %>
  <%= f.input :suggestion, label: 'Suggestion' %>

  <%= f.button :submit %>
<% end %>

我的问题是在备注表中,保存后,进程的id始终为null。我错过了什么?可能是显而易见的事情,但我现在无法看到它。

谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个:

<%= f.collection_select :process_type_id, ProcessType.all, :id, :name %>

或者,如果您想使用Simple Form方法:

<%= f.input :process_type_id, :collection => ProcessType.all %>