【问题标题】:Rails get radio_button valueRails 获取 radio_button 值
【发布时间】:2013-02-18 10:35:27
【问题描述】:

我正在尝试从表单中获取单选按钮的值:

<%= form_for Text.new, remote: true do |f| %>
<%= f.radio_button :is_code, false %>
<%= f.text_area(:content, :size => '50x10', :class=>'input_text')%>
<%= f.submit "Send", :class=>'input_send' %>
<% end %>

现在当我检查控制器中的参数时:

  def create
    response.headers["Content-Type"] = "text/javascript"
    attributes = params.require(:text).permit(:content, :name, :is_code)
    attributes[:name]=current_user.name
    Rails.logger.info attributes[:is_code]
    attributes[:content]='code was given' if attributes[:is_code]==true
    @message = Text.create(attributes)
  end

现在,如果未单击单选按钮,我得到的值为空。 (我指定了一个默认值,为什么这给我 null?)

如果单击单选按钮,Rails 记录器会返回 false。

它在 null/false 之间切换,而不是在 false/true 之间切换。有什么想法吗?

【问题讨论】:

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


    【解决方案1】:

    如文档所述,第三个参数是 HTML 对象的值。 http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-radio_button

    所以,我相信您必须将其设置为 true,如下所示:

    <%= f.radio_button :is_code, true %>
    

    那么,如果不勾选,你会得到false/null的值,而不是勾选收音机,你会得到true的值。

    【讨论】:

      猜你喜欢
      • 2016-09-12
      • 2012-05-16
      • 1970-01-01
      • 2013-10-01
      • 1970-01-01
      • 2011-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多