【问题标题】:Rails 3, radiobutton group in fields_for?Rails 3,fields_for 中的单选按钮组?
【发布时间】:2011-06-14 03:17:38
【问题描述】:

我认为这应该是微不足道的,但不知何故,我一定做错了什么。而且我找不到任何谷歌结果证明我有任何好处,我可能错过了一些观点。我的主题几乎说明了一切:
如何创建在 fields_for 迭代中生成的单选按钮组。

例如:

form_for @team do |t|
   f.fields_for :players |p|
       p.radio_button :is_captain, "is_captain_group"

其中 is_captain 是玩家模型上的布尔字段。上面的方法不行……

编辑:如下所示,fields_for 中列出的所有球员应该“共享”单选按钮组 - 例如 11 名球员,只能选择一名队长。

【问题讨论】:

    标签: ruby-on-rails-3 radio-button


    【解决方案1】:

    更新:

    然后你必须在团队模型上声明一个虚拟属性(例如:captain):

    在观点上:

    form_for @team do |t|
       f.fields_for :players |p|
           t.radio_button :captain, p.id
    

    在 team.rb 上:

    def captain=(id)
      self.players.each do |player|
        player.is_captain = (player.id == id)
      end
    end
    

    【讨论】:

    • 对不起,我可能误判了简单性。当然,单选按钮组应该跨越字段中列出的“玩家” - 例如,可能有 11 名玩家,但只能选择一名队长。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 2011-07-30
    • 1970-01-01
    • 2017-12-03
    • 1970-01-01
    相关资源
    最近更新 更多