我有两个型号,
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。我错过了什么?可能是显而易见的事情,但我现在无法看到它。
谢谢!
答案 0 :(得分:0)
试试这个:
<%= f.collection_select :process_type_id, ProcessType.all, :id, :name %>
或者,如果您想使用Simple Form方法:
<%= f.input :process_type_id, :collection => ProcessType.all %>