美文网首页Ruby & Rails
[Rails tips] accepts_nested_attr

[Rails tips] accepts_nested_attr

作者: 我天真无邪 | 来源:发表于2015-11-16 11:20 被阅读601次

    accepts_nested_attributes_for 类方法 这个方法可以在该model上生成一个属性writer
    eg:

    为model Book新增两个新方法

    author_attributes=(attributes)
    page_attributes=(attributes)
    
    class Book < ActiveRecord::Base
        has_one :author
        has_many :pages
    
        accepts_nested_attributes_for :author, :pages
    end
    

    一对一关联

    class Member < ActiveRecord::Base
        has_one :avatar
    
        accepts_nested_attributes_for :avatar
    end
    

    开启了一对一的关联嵌套之后可以用这样的方法一次性创建Member

    params = { :member => { :name => "Jack", :avatar_attributes => { :icon => "test"} } }
    

    下面是create

    member = Member.create(params[:member])
    
    params = { :member => { :avatar_attributes => { :id => '2', :icon => "sad" } } }
    member.update_attributes(params[:member])
    

    相关文章

      网友评论

        本文标题:[Rails tips] accepts_nested_attr

        本文链接:https://www.haomeiwen.com/subject/yejjtttx.html