【问题标题】:Can I change one instance variable with a radio_button inside a form?我可以在表单中使用 radio_button 更改一个实例变量吗?
【发布时间】:2019-07-10 08:18:45
【问题描述】:

我的意图是使用单选按钮来更改我无法做到的实例变量的值。我正在使用这个 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>

【问题讨论】:

    标签: ruby-on-rails radio-button


    【解决方案1】:

    用这个简单的代码解决了;

    <%= 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 方法将在两个选项之间进行选择。如果更改变量名;该方法将允许您选择这两个选项。不要忘记在控制器中将您的实例变量包含在您的强参数方法中:

      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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-05
      • 2012-06-03
      相关资源
      最近更新 更多