关于Rails 5和collection_radio_buttons
的问题。
当您尝试编辑表单时,如何显示收音机输入的选中值?
<%= collection_radio_buttons(:post, :category_id, Category.all, :id, :name) do |b| %>
<div class="radio">
<%= b.label do %>
<%= b.radio_button + b.text %>
<% end %>
</div>
<% end %>
使用选择框f.collection_select
,它会记住值,但不记得collection_radio_buttons
我的路线文件如下
资源:帖子,如::条目
答案 0 :(得分:0)
答案 1 :(得分:0)
我已经明白了。
这是因为我直接使用collection_radio_buttons
而不是使用表单助手对象。
来自(不存储用户价值)
<%= collection_radio_buttons(:post, :category_id, Category.all, :id, :name) do |b| %>
<div class="radio">
<%= b.label do %>
<%= b.radio_button + b.text %>
<% end %>
</div>
<% end %>
至(现在保存用户值)
# Using the form helper `f.collection_radio_buttons`
# instead of `collection_radio_buttons`.
# Also removed passing the object in as an argument
<%= f.collection_radio_buttons(:category_id, Category.all, :id, :name) do |b| %>
<div class="radio">
<%= b.label do %>
<%= b.radio_button + b.text %>
<% end %>
</div>
<% end %>
我希望将来可以帮助任何人。
谢谢
答案 2 :(得分:-1)
这样就可以了。
<%= collection_radio_buttons(:post, :category_id, Category.all, :id, :name,{},{ checked: Category.first.id }) do |b| %>
<div class="radio">
<%= b.label do %>
<%= b.radio_button + b.text %>
<% end %>
</div>
<% end %>