带集合的Rails简单表单输入保存对象的id而不是名称

时间:2013-06-10 07:49:56

标签: ruby-on-rails simple-form

带有集合的Rails简单表单输入保存对象的id而不是名称。 我有简单的收藏:

 = address_f.input :state, collection: State.all, :required => true, label: t('content.realty.state')

州有id和name列。作为视图中的输出,我看到一个正确的选择具有适当的值,但在保存时,保存id而不是名称。

1 个答案:

答案 0 :(得分:8)

对于关联对象,通常您希望存储对象的ID,但如果您确实要存储可以使用的名称:value_method。

address_f.input :state, collection: State.all, :required => true, label: t('content.realty.state'), value_method: :name

请参阅simple_form doc:https://github.com/plataformatec/simple_form#collections