【发布时间】:2014-05-27 04:29:55
【问题描述】:
我尝试了以下方法:
<%= form_for .... do |f| %>
<%= f.label "test1" %>
<%= radio_button_tag 'value[]', "1" %>
<%= radio_button_tag 'value[]', "2" %>
<%= f.label "test2" %>
<%= radio_button_tag "value[]", "1" %>
<%= radio_button_tag "value[]", "2" %>
<%= f.submit "test_send" %>
<% end %>
在我的控制器中,我有一个数组。
现在的问题是我只能选择这四个中的一个,但我想在分组后选择它们。使用 text_fields 可以正常工作,但使用单选按钮则无法使用。
然后我尝试了类似的东西:
<%= form_for .... do |f| %>
<%= f.label "test1" %>
<%= radio_button_tag 'value[]', "1", :id => "btn-grp-1" %>
<%= radio_button_tag 'value[]', "2", :id => "btn-grp-2" %>
<%= f.label "test2" %>
<%= radio_button_tag "value[]", "1", :id => "btn-grp-3" %>
<%= radio_button_tag "value[]", "2", :id => "btn-grp-4" %>
<%= f.submit "test_send" %>
<% end %>
拥有唯一的 id 但仍然是同样的问题。 我需要的是为每个组设置一个唯一的名称,例如:
<%= form_for .... do |f| %>
<%= f.label "test1" %>
<%= radio_button_tag 'value[1]', "1", :id => "btn-grp-1" %>
<%= radio_button_tag 'value[1]', "2", :id => "btn-grp-2" %>
<%= f.label "test2" %>
<%= radio_button_tag "value[2]", "1", :id => "btn-grp-3" %>
<%= radio_button_tag "value[2]", "2", :id => "btn-grp-4" %>
<%= f.submit "test_send" %>
<% end %>
但是我现在如何获取参数呢?
我的控制器只包含用于测试发送内容的代码:
...
def create
flash[:success] = valueset_params[:value]
redirect_to root_path
end
private
def valueset_params
params.permit({value: []})
end
...
希望你明白我的意思。 (我必须更改单选按钮的名称,我仍然希望在我的控制器中接收完整的数组)。
如果你不知道就问。
感谢您提出任何解决方案。
编辑另一个问题:
我有类似@topics 的东西,里面有多个主题。
现在我想循环它们(我知道这是如何工作的)并在 []
<%= form_for .... do |f| %>
<%= f.label 'test1' %>
<%= radio_button_tag 'value[@topic1.id]', '1' %>
<%= radio_button_tag 'value[@topic1.id]', '2' %>
<%= f.label 'test2' %>
<%= radio_button_tag 'value[@topic2.id]', '1' %>
<%= radio_button_tag 'value[@topic2.id]', '2' %>
<%= f.submit 'test_send' %>
<% end %>
【问题讨论】:
标签: ruby-on-rails