モデルオブジェクトをDBに保存する save
モデルオブジェクトをDBに保存する save
save 行う falseを返す
save! 行う 例外ActiveRecord::RecordInvalidが発生
save(:validate => false) 行わない falseを返す
save(:validate => false) 行わない 何かシステム上の例外が発生
DBに保存できたかどううかによって処理を分岐させる
if @entry.saveredirect_to entries_path
else
render :acton => "new"
end
トランザクションの中で複数の項目を保存する
begin
Entry.transaction do
@many_entries.each {|entry| entry.save}
end
redirect_to entries_path
resucue ActiveRecord::RecordInValid,ActiveRecord::RecordNOtSaved
render :action => "input_multi_entries"
end
モデルオブジェクトを生成し、すぐにDBに保存する
#新しいEntryを生成する
entry = Entry.new(:content => "新しい記事の本文", :blog_id => 1)
entry.new_record? #=> true
#新しいEntryを生成し、すぐに保存する
entry = Entry.create(:content => "新しい記事の本文", :blog_id => 1)
entry.new_record? #=> false
#新しいEntryを生成し、すぐに保存する。保存失敗時には例外を発生させる
entry = Entry.create!(:blog_id => 1)
#=> ActiveRecord::RecordInvalid
save 行う falseを返す
save! 行う 例外ActiveRecord::RecordInvalidが発生
save(:validate => false) 行わない falseを返す
save(:validate => false) 行わない 何かシステム上の例外が発生
if @entry.saveredirect_to entries_path
else
render :acton => "new"
end
begin
Entry.transaction do
@many_entries.each {|entry| entry.save}
end
redirect_to entries_path
resucue ActiveRecord::RecordInValid,ActiveRecord::RecordNOtSaved
render :action => "input_multi_entries"
end
#新しいEntryを生成する
entry = Entry.new(:content => "新しい記事の本文", :blog_id => 1)
entry.new_record? #=> true
#新しいEntryを生成し、すぐに保存する
entry = Entry.create(:content => "新しい記事の本文", :blog_id => 1)
entry.new_record? #=> false
#新しいEntryを生成し、すぐに保存する。保存失敗時には例外を発生させる
entry = Entry.create!(:blog_id => 1)
#=> ActiveRecord::RecordInvalid
Author And Source
この問題について(モデルオブジェクトをDBに保存する save), 我々は、より多くの情報をここで見つけました https://qiita.com/A-Like/items/797708f8229eb54e2591著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .