如何从rails中的单选按钮获取params值

时间:2014-11-09 14:19:04

标签: ruby-on-rails ruby-on-rails-4

我有:

<% @hotelUser= HotelUser.find(cookies[:user_id2])%>

<%= form_for(:hotelUser,:url=>{:controller=>'orders',:action=>'show'}) do |hotelUser|%>                 
  <%= @hotelUser.address1%> 
  <%= hotelUser.radio_button :address1,:value=>@hotelUser.address1 ,:checked=>true%>&nbsp;SELECT ADDRESS   
  <%= @hotelUser.address2%>
  <%= hotelUser.radio_button :address1,:value=>@hotelUser.address2 ,:checked=>true%>&nbsp;SELECT ADDRESS 
  <%= hotelUser.submit("PROCEED TO PAYMENT",{:action=>'show'})%>
<%end%>

我的页面中有两个带有相同名称的单选按钮。问题是我没有在params[:address1]页面中获得value orders/show。我需要这个值来进一步处理我的应用程序。

2 个答案:

答案 0 :(得分:0)

查看随请求发送的服务器参数,它将嵌套在params [:hotelUser] [:address1]中。更多的事情我不确定,但我认为它将返回第一个数组的两个值单选按钮和第二个,因为你有两个同名的。

最好的办法是检查已发送的参数,然后您将了解如何获取单选按钮的值。

答案 1 :(得分:0)

使用radio_button_tag而不是radio_button:

<% @hotelUser= HotelUser.find(cookies[:user_id2])%>

<%= form_for(:hotelUser,:url=>{:controller=>'orders',:action=>'show'}) do |hotelUser|%>
  `&lt;%= @ hotelUser.address1%&gt;

<%= radio_button_tag :address1,@hotelUser.address1 %>&nbsp;SELECT ADDRESS <%= @hotelUser.address2%>

<%= radio_button_tag :address1,@hotelUser.address2 %>&nbsp;SEL ECT ADDRESS   <%= hotelUser.submit("PROCEED TO PAYMENT",{:action=>'show'})%> <%end%>