Ruby on rails Rails 3语法,可访问属性并创建关联对象

Ruby on rails Rails 3语法,可访问属性并创建关联对象,ruby-on-rails,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby On Rails 3,Activerecord,给定以下模型: rails g model Menu name:string rails g model MenuHeader mh_name:string menu_id:integer class Menu < ActiveRecord::Base has_many :menu_headers attr_accessible :menu_headers_attributes, :name end class MenuHeader < ActiveRecord:

给定以下模型:

rails g model Menu name:string
rails g model MenuHeader mh_name:string menu_id:integer

class Menu < ActiveRecord::Base
    has_many :menu_headers
    attr_accessible :menu_headers_attributes, :name
end

class MenuHeader < ActiveRecord::Base
    belongs_to :menu
end
添加此项的正确语法是什么

我可以删除属性吗

thx

从bricker的答案中编辑#1(顺便说一句,非常感谢!)

class菜单菜单。创建({“名称”=>“我的第一个菜单”,“菜单标题”\u属性=>{“mh\U名称”=>“这是我的名字”})
TypeError:无法将符号转换为整数
from/Users/jt/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active\u record/nested\u attributes.rb:395:in`[]'
from/Users/jt/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active\u record/nested\u attributes.rb:395:在“为集合关联指定嵌套属性的块中”
from/Users/jt/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active\u record/nested\u attributes.rb:395:in'map'
from/Users/jt/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active\u record/nested\u attributes.rb:395:“分配\u集合\u关联的嵌套\u属性”
from/Users/jt/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active\u record/nested\u attributes.rb:287:in`menu\u headers\u attributes='1
from/Users/jt/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active\u record/base.rb:1745:“分配属性中的块”
您需要添加:

accepts_nested_attributes_for :menu_headers
进入您的菜单模式。这将添加
菜单标题\u属性
作为
菜单
的属性

class Menu < ActiveRecord::Base
  has_many :menu_headers
  attr_accessible :name
  accepts_nested_attributes_for :menu_headers
end  

 ruby-1.9.2-p290 :001 > Menu.create({"name"=>"My first menu",:menu_headers_attributes=>{"mh_name" => "here is my name"}})
 TypeError: can't convert Symbol into Integer
from /Users/jt/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/nested_attributes.rb:395:in `[]'
from /Users/jt/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/nested_attributes.rb:395:in `block in assign_nested_attributes_for_collection_association'
from /Users/jt/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/nested_attributes.rb:395:in `map'
from /Users/jt/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/nested_attributes.rb:395:in `assign_nested_attributes_for_collection_association'
from /Users/jt/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/nested_attributes.rb:287:in `menu_headers_attributes='
from /Users/jt/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/base.rb:1745:in `block in assign_attributes'
accepts_nested_attributes_for :menu_headers