ruby-on-rails – ActiveRecord关系中的构建和创建方法有什么区
发布时间:2020-12-16 19:48:25 所属栏目:百科 来源:网络整理
导读:我有一个用户可以有0或1个配置文件.在我的控制器中,如果给出了一些值,我想保存配置文件,如下所示: # PUT /users/1def update @user = User.find(params[:id]) if @user.update_attributes(params[:user]) if params[:profile][:available] == 1 #available
我有一个用户可以有0或1个配置文件.在我的控制器中,如果给出了一些值,我想保存配置文件,如下所示:
# PUT /users/1 def update @user = User.find(params[:id]) if @user.update_attributes(params[:user]) if params[:profile][:available] == 1 #available is a checkbox that stores a simple flag in the database. @user.create_profile(params[:profile]) end else #some warnings and errors end end 我想知道的部分是create_profile,魔术create_somerelationname.这与魔术build_somerelationname相比如何?什么时候应该用哪个? 解决方法
构建和创建之间的区别是,创建还可以保存创建的对象,因为生成只返回新创建的对象(没有保存).
文档有些隐藏在here. 因此,根据您是否对返回的对象感到满意,您需要创建(因为您不会再更改它)分别构建,因为您要在再次保存之前更新它(这将保存您的保存操作) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- Oracle SQL中“@”符号的含义是什么?
- c# – Microsoft.Office.Interop.*版本12和14之间
- xml – 带有fn前缀的XPath函数URL不起作用
- 报错:Binary XML file line #7: Error inflatin
- flash – 如何通过html对象和/或嵌入标记中的url
- flex currenTarget与 target 的区别
- Flex加载大图片等待特效 Flex特效 (利用了Progre
- ruby-on-rails – 用于对Ajax进行排序,过滤,分页
- c# – 如何在不窃取焦点和没有P / Invoke的情况下
- c# – 从XML网络流中读取整个元素
热点阅读