Rails build 和new的用法区别
关于build和new的区别:
类有new方法,没有build方法
build应该是属于对象的方面。
build是new一个关联的对象的。
对象和和build处理的对象 关联在一起,
对象保存,build处理的对象作为依附在他上面的对象也会保持。
类有new方法,没有build方法
build应该是属于对象的方面。
build是new一个关联的对象的。
对象和和build处理的对象 关联在一起,
对象保存,build处理的对象作为依附在他上面的对象也会保持。
irb(main):002:0> b = a.comments.new => #<Comment:0x00007fc20a28be18 id: nil, commenter: nil, body: nil, article_id: 1, created_at: nil, updated_at: nil> irb(main):003:0> c = a.comments.build => #<Comment:0x00007fc20a199d98 id: nil, commenter: nil, body: nil, article_id: 1, created_at: nil, updated_at: nil> irb(main):004:0> d = Comment.new => #<Comment:0x00007fc20a28e7f8 id: nil, commenter: nil, body: nil, article_id: nil, created_at: nil, updated_at: nil> irb(main):005:0> e = Comment.build /home/hw/.rbenv/versions/3.1.1/lib/ruby/gems/3.1.0/gems/activerecord-7.0.3/lib/active_record/dynamic_matchers.rb:22: in `method_missing': undefined method `build' for Comment:Class (NoMethodError)
build的用例
new_user = User.new => #<User id: nil, name: nil, state: nil, created_at: nil, updated_at: nil>post = new_user.posts.build => #<Post id: nil, user_id: nil, active: nil, created_at: nil,updated_at: nil> comment = post.comments.build => #<Comment id: nil, post_id: nil, created_at: nil, updated_at: nil>new_user.save => true new_user => #<User id: 4, name: nil, state: nil, created_at: “2009-02-1616:17:35”, updated_at: “2009-02-16 16:17:35”>post => #<Post id: 4, user_id: 4, active: nil, created_at: “2009-02-1616:17:35”, updated_at: “2009-02-16 16:17:35”>comment => #<Comment id: 1, post_id: 4, created_at: “2009-02-16 16:17:35”,updated_at: “2009-02-16 16:17:35”>
阅读量: 670
发布于:
修改于:
发布于:
修改于: