Rails使用一个表单项分配两个属性

时间:2013-03-19 15:01:58

标签: ruby-on-rails forms

我有一个包含属性first_team_namesecond_team_name的对象,以及一对包含[team1, team2]个值的列表。

我希望能够拥有它,当我在表单中选择一个对象时,它会将team1分配给first_team_nameteam2分配给second_team_name,但我不知道如何相应地拆分这些值。

无论如何要分割我的集合的值并将它们放到我的对象的两个不同属性中吗?

2 个答案:

答案 0 :(得分:2)

您可以在模型中定义2个功能

def team_names
  return "#{first_team_name},#{second_team_name}"
end

def team_names=(values)
  self.first_team_name, self.last_team_name = values.split(',')
end

警告

  • 您的选择值必须与'toto,titi'
  • 类似
  • 如果团队名称可以包含逗号,请选择其他分隔符。

答案 1 :(得分:0)

我认为通过解析控制器中的参数然后将它们分配给您想要的任何对象是可能的。不过,我不知道这是不是最好的做法。您需要修改Controller的update方法。