rails,simple_form,保存后如何使用所选选项更新单选按钮?

Posted

技术标签:

【中文标题】rails,simple_form,保存后如何使用所选选项更新单选按钮?【英文标题】:rails, simple_form, how to update the radio buttons with the selected option after saving? 【发布时间】:2012-08-25 06:56:28 【问题描述】:

我对 Rails 很陌生,这也是我的第一篇文章,但我正在尝试在视图页面上创建一个 simple_form,该页面应该是某些用户的设置页面,我已经搜索了 2 天求答案,我在任何地方都找不到。

<%= f.input :gender, label: 'What is your gender?', collection: [ ['M', 'Male' ], ['F', 'Female'] ], as: :radio_buttons, label_method: :last, value_method: :first, checked: 'M', item_wrapper_class: 'inline'%>

这是我的输入标签,目前唯一的选择是设置 :checked => 'M',这样在保存用户设置后,单选按钮将被选中(但如果我是选择“女性”性别,因为保存设置页面后,默认选择“男性”单选按钮。

那么有没有办法以简单的形式(甚至是下拉列表)使用单选按钮,以便在保存页面后保持选中性别?

【问题讨论】:

【参考方案1】:

尝试使用用户性别属性而不是检查“M”:

<%= f.input :gender, label: 'What is your gender?', collection: [ ['M', 'Male' ], ['F', 'Female'] ], as: :radio_buttons, label_method: :last, value_method: :first, checked: @user.gender, item_wrapper_class: 'inline'%>

【讨论】:

非常感谢您的快速回复,这应该可以解决我的问题 这也回答了我的问题。但是如何防止表单在编辑视图中默认为选中的默认值?或者,换一种说法,我们如何只在“新”而不是“编辑”中启用此选中选项? cpursely 一种方法是(在“new”中默认为 Male,在“edit”中没有任何内容):...,检查:params[:action] == 'new'? “M”:无

以上是关于rails,simple_form,保存后如何使用所选选项更新单选按钮?的主要内容,如果未能解决你的问题,请参考以下文章

无法让 rails 搜索表单与 simple_form 和 sunspot 一起使用

Rails 使用 select2(和 simple_form)作为可标记

Rails Simple_Form添加年份到日期字段

Rails simple_form 没有将数据字段推送到数据库

如何在 simple_form 中使用占位符而不是标签?

Simple_Form,嵌套资源和Rails 5