如何在Ruby on Rails中映射来自控制器的数据

时间:2014-03-13 06:54:27

标签: ruby-on-rails ruby

在创建页面视图中

我有一个这样的单选按钮,

<%=radio_button_tag(:repeat, "1")%><%=f.label("None")%>
<%=radio_button_tag(:repeat, "2")%><%=f.label("Start Now")%>
<%=radio_button_tag(:repeat, "3")%><%=f.label("Daily")%>
<%=radio_button_tag(:repeat, "4")%><%=f.label("Weekly")%>
<%=radio_button_tag(:repeat, "5")%><%=f.label("Monthly")%>

如果我提交,它会像这样发送。

Parameters: {"utf8"=>"✓", "authenticity_token"=>"jJP/GZxllRLV2q/gENb0raCVhKPlASPdc+f6hqP23dE=", "appointment"
=>{"appointmentname"=>"test for repeat daily first", "description"=>"daily "}, "repeat"=>"3", "start_date"=>"20
14-03-13", "start_time"=>"16:00", "end_time"=>"17:00", "repeat_time"=>"19", "roomType"=>"1", "bb_state_id"=>"10
7", "jNameTimeZone"=>"Etc/GMT", "invited_radio_btn"=>"1", "numberOfParticipants"=>"1", "moderatorId"=>"1", "att
endee_list"=>[{"id"=>"1", "email"=>"hyunjae.park@access-company.com", "firstname"=>"hyunjae", "lastname"=>"park
"}]}

如您所见,参数"repeat"=>"3"就在那里。

好吧,我把它保存到数据库中。

现在,我想编辑此页面。

从控制器发送这样的参数。

@repeat

如果我用logger.debug打印它。它显示了我所选择的(1~5值)

现在,使用此参数

在视图中,我必须映射在创建房间时选择的radio_button。

但它并不匹配它:(

这里有什么问题???

1 个答案:

答案 0 :(得分:0)

这样的事情:

<%= form_for @post do |f| %>
  <%= f.collection_radio_buttons :repeat, [[1, 'none'], [2, 'start now']], :id %>
  <%= f.submit %>
<% end %>

在表格内 http://api.rubyonrails.org/classes/ActionView/Helpers/FormBuilder.html#method-i-collection_radio_buttons

或没有表格: http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-collection_radio_buttons