我的意图是使用单选按钮来更改实例变量的值,而我做不到。我正在使用此radio_button_tag代码:
<%= form_for(@cig) do |f| %>
<h3>
<%= f.radio_button :pack_id, 9 %>
<%= f.label :pack_id_my, "From MY pack" %>
<%= f.radio_button :pack_id, 2 %>
<%= f.label :pack_id_gift, "From a GIFT pack" %>
</h3>
<h3><%= @cig.pack_id %></h3>
我想根据选中的单选按钮更改pack_id的值,但是我不知道如何访问该变量。我也尝试过radio_button_tag,但我做不到。
<%= form_for(@cig) do |f| %>
<h3>
<%= radio_button_tag(:pack_id, 9, true, checked ? @cig.pack_id = 9) %>
<%= label_tag(:pack_id_my, "From MY pack") %>
<%= radio_button_tag(:pack_id, 2) %>
<%= label_tag(:pack_id_gift, "From a GIFT pack") %>
</h3>
<h3><%= @cig.pack_id %></h3>
答案 0 :(得分:0)
解决了这个简单的代码;
<%= form_for(@cig) do |f| %>
<h3>
<%= f.radio_button :pack_id, Pack.last.id %>From <strong>MY</strong> pack
<%= f.radio_button :pack_id, 2 %> It's a <strong>GIFT</strong> cig
</h3>
.
.
.
您仅需将单选按钮嵌套在表单中。就这样。 必须放置相同的变量名。这样,radio_button方法将在两个选项之间进行选择。如果您更改变量名称;该方法将允许您选择两个选项。不要忘记在控制器中的强params方法中包括实例变量:
def cig_params
# *Strong params*: You need to *whitelist* what can be updated by the user
# Never trust user data!
params.require(:cig).permit(:date, :minutes, :pack_id)
end