【问题标题】:Values of radio_button_tag comes in a hashradio_button_tag 的值以散列形式出现
【发布时间】:2018-11-23 10:47:49
【问题描述】:

需要返回的数据为 "results"=>[{"radio_result"=>"true"}, {"radio_result"=>"false"}...] 目前有代码:

@results.each_with_index do |result, index|    
  = radio_button_tag "results[][radio_result][#{index}]", true, result.radio_result?, id: "results__radio_result_#{index}_true"
  = label_tag "results[][radio_result][#{index}][false]", 'Yes'
  = radio_button_tag "results[][radio_result][#{index}]", false, !result.radio_result?, id: "results__radio_result_#{index}_false"
  = label_tag "results[][radio_result][#{index}][true]", 'No'

它有点工作,但返回的数据格式错误("results"=>[{"radio_result"=>{"0" => "true"}}, {"radio_result"=>{"0" => "false"}}...]

将代码更改为= radio_button_tag "results[][radio_result](从中删除#{index})应该已经修复了它 - 但相反 - 我的标签不再显示了

【问题讨论】:

    标签: ruby-on-rails radio-button


    【解决方案1】:

    如果您提前移动index 会发生什么情况?

    = radio_button_tag "results[#{index}][radio_result]"
    

    话虽如此,我不禁觉得也许有一种更 Railsy 的方式来实现这一点。我不确定我的头顶,但可能是这样的:

    = f.fields_for result do |result_fields|
      = result_fields.radio_button true, checked: result.radio_result?
      = result_fields.radio_button false, checked: !result.radio_result?
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-17
      • 1970-01-01
      • 2013-04-14
      • 1970-01-01
      • 2014-05-27
      • 1970-01-01
      相关资源
      最近更新 更多