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

And*_*hyn 3 ruby-on-rails simple-form

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

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

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

dan*_*dan 9

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

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

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