Ruby on rails 设置父模型的值

Ruby on rails 设置父模型的值,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有两个模特,场地和音乐会。音乐会属于一个场地,场地有很多音乐会。在我的表格中,我使用自定义设置器设置音乐会场地,表格如下所示: <%= form_for @concert do |f| %> <%= f.label :venue_name, "Venue" %> <%= f.text_field :venue_name %> 问题是,如果正在创建模型,我还想向模型添加地址。孩子的表格可以这样做吗?是否可以同时向sette

我有两个模特,场地和音乐会。音乐会属于一个场地,场地有很多音乐会。在我的表格中,我使用自定义设置器设置音乐会场地,表格如下所示:

<%= form_for @concert do |f| %>      
      <%= f.label :venue_name, "Venue" %>
      <%= f.text_field :venue_name %>
问题是,如果正在创建模型,我还想向模型添加地址。孩子的表格可以这样做吗?是否可以同时向setter传递名称和地址

编辑:

正如下面的评论所建议的,我已经开始使用accepts\u nested\u attributes\u。Ryan Bates在这里有一个很好的屏幕放映:或者文档也很好


我以前就习惯于这样做,但我很挣扎,因为这是属于事物的一方。我现在回到过去的解决方案是,在这个例子中,如果您向用户显示他们可以添加名称和地址,并用逗号、at符号、分号等分隔,则不使用@concert.venue.build,而是使用@concert.build\u-venue的语法,在您的模型上,您可以使用正则表达式将它们分开,然后分别插入其中的每一个

def venue_name=(name)
  venue = name.split(',')[0] # The comma (,) can be any symbol
  address = name.split((',')[1]
  # Insert venue
  # Insert address
end
这是一种丑陋的方式。

这听起来像是一份工作。
def venue_name=(name)
  venue = name.split(',')[0] # The comma (,) can be any symbol
  address = name.split((',')[1]
  # Insert venue
  # Insert address
end