我想通过API创建一个对象,即不需要任何表单,我应该在做MyModel.new(:name => params[:name])
还是MyModel.create(:name => params[:name])
?ruby on rails,创建新对象,使用create还是new方法?
假设我有resources : my_models
在routes
我检查,我看到的方法可以使用params哈希表确定。
我想通过API创建一个对象,即不需要任何表单,我应该在做MyModel.new(:name => params[:name])
还是MyModel.create(:name => params[:name])
?ruby on rails,创建新对象,使用create还是new方法?
假设我有resources : my_models
在routes
我检查,我看到的方法可以使用params哈希表确定。
.new
生成一个实例(但您仍然需要.save
它)。
而
.create
使实例和保存在一个地方。
希望这有助于您决定使用哪一个。
这取决于你想得到什么。 new
方法简单地实例化新对象,并且create
方法创建一个对象并将其保存到数据库(如果验证通过)。
@MichaelDurrant,是的。我假设你在谈论ActiveRecord:http://api.rubyonrails.org/classes/ActiveRecord/Base.html#method-c-create。 – Mischa
谢谢米莎+1 –
为了格式和清晰度,我稍微更新了答案。 –
谢谢迈克尔,希望这可以帮助更多的人在未来:) – jamiethepiper