在模型中,我使用"find_or_initialize"
来保存记录。我假设这个函数将搜索数据库中的记录,如果它发现没有动作,如果没有找到则保存记录。我是否正确?
但是,混乱:如果记录已经存在,并且其中一个字段得到更新,那么此函数是否会更新记录?
Is there any other method to resolve it ?
请建议我解决此问题...谢谢
答案 0 :(得分:2)
find_or_initialize_by_...
无法保存记录,只会使用提供的参数设置实例化新对象。
如果您希望自动保存记录(如果未找到),那么您应该使用find_or_create_by_...
代替。
在任何一种情况下,如果您希望将对象保存到数据库,则对对象所做的任何更改都必须后跟save
。这些方法都不会保存您在调用之后所做的任何事情。