0
A
答えて
1
create
メソッドはその単純なブログ投稿を作成する責任がありますが、update
メソッドはそれを更新する必要があります。
def create
@blog = Blog.new(params[:blog])
if @blog.save
flash[:notice] = "Saved!"
redirect_to @blog
end
end
def update
@blog = Blog.find(params[:id])
if @blog.update_attributes(params[:blog])
flash[:notice] = "Saved!"
redirect_to @blog
end
end
セーブが成功するか失敗するかは、それ以外には何もできません。
0
create
とupdate
は類似していますが、文字通り同じものにすることは意味がありません。通常、それぞれに異なるフラッシュメッセージが必要になります。また、検証に失敗した場合はcreate
に、通常はnew
アクションをレンダリングするのが最善ですが、失敗した場合はupdate
になると、edit
アクションをレンダリングする可能性が高くなります。これらのわずかな違いは、通常、作成と新規のメソッドを別々にする方が簡単で読みやすいように十分です。
私は個人的にcreate
とupdate
のそれぞれに対してelse
句を持っています。ユーザーがまだエラーが表示され、それを修正しますが、この方法は私がすべてでcreate
とupdate
ビューを必要としないことができ
#create
else
render :action => "new"
end
#update
else
render :action => "edit"
end
:彼らは次のようになります。
save!
またはupdate_attributes!
を使用する場合、検証エラーが発生すると例外が発生します。これはどこかで救済する必要があります。レスキューしなかった場合、モデルの検証に失敗するたびに500エラーページが表示されます。だからこそ、より一般的ではない! save
およびupdate_attributes
の方法。
関連する問題
- 1. 簡単な方法でDatatableを作成する必要があります。
- 2. ブログ投稿ごとに1ページを作成する必要がありますか?
- 3. Ionic2にパスワードを保存する簡単な方法はありますか?
- 4. ブログの投稿をTwitterとFacebookに投稿する(カスタマイズあり)
- 5. WordPress関数:投稿名と同じ名前の用語を作成しますが、用語に投稿を割り当てる必要があります
- 6. iPhoneに簡単なスプレッドシートを作成して保存するライブラリや方法はありますか?
- 7. アンドロイドのTumblrブログに画像を投稿する必要があります
- 8. 概念簡単な検索ボックスを作成する方法を学ぶ必要があります
- 9. API作成の簡単な方法はありますか?
- 10. 簡単なブログ投稿機能
- 11. mysqlでjsonデータを作成する簡単な方法はありますか?
- 12. 作成と最も簡単な方法
- 13. Eclipseでモデル/ UMLを簡単に作成する方法はありますか?
- 14. ユーザーログインを簡単に作成する方法はありますか?
- 15. 投稿ページに投稿ビューを追加する方法はありますか?
- 16. CakePHP 2.0でajaxで簡単投票を作成する方法
- 17. DependencyObjectと同じスレッドでDependencySourceを作成する必要があります
- 18. ラベルと入力でモバイルページを作成する簡単な方法
- 19. Ruby言語では、認証が必要なWebページにデータを投稿する方法はありますか?
- 20. HTMLテーブルをSQLファイルに保存する簡単な方法は?
- 21. Tomcatに簡単なカスタム設定を保存する方法
- 22. rubyオブジェクトをコマンドラインに保存する簡単な方法は?
- 23. AjaxをWebSocketに変更する簡単な方法はありますか?
- 24. にXMLを解析して必要な要素を見つける簡単な方法はありますか?
- 25. XMLフォーマット設定をプロジェクトに保存する方法とワークスペースを保存する方法はありますか?
- 26. Wordpress Plugin - 投稿に関する簡単なデータを保存する
- 27. 作成日時、更新者、作成者などを保存する方法
- 28. ファイルとコンソールの両方に同じ文字列を出力する簡潔な方法はありますか?
- 29. プロパティの存在を確認する簡単な方法はありますか?
- 30. OOP - 投稿を削除する必要がありますか?
保存または保存する必要がありますか。 – Blankman
また、更新メソッドが失敗した場合、私は "new"をレンダリングする必要がありますか? – Blankman
@Blankman: 'create'メソッドで' save'を使います。操作が失敗した場合、2つのアクションの 'save'と' update_attributes'は両方ともfalseを返します。これにより、ユーザーは、別のアクションにリダイレクトするのではなく、フォームの間違いを訂正することができます。これはまた、if文に 'else'部分がない(そうすべきではない)理由です。 – vonconrad