newアクションで記事投稿フォームを作る
これまでindexアクションとshowアクションでRESTfulな記事一覧&表示機能を実装してきましたが、今回からは記事投稿機能を実装します。まずはnewアクションで投稿フォームの作成を行います。
連載: Rails4でRESTfulアプリケーションの7アクション+αを作る
記事投稿フォーム表示機能のルーティング設定
まずはroutes.rbでルーティング設定を行います。
記事投稿フォーム表示にはnewアクションを使うので
と設定します。
設定してからルーティングを確認すると
$ rake routes
new_blog_post GET /blog/posts/new(.:format) blog/posts#new
という行が出力されます。
- Prefixは
new_blog_post
で、new_blog_post_path
といったヘルパーでパスを取得できる /blog/posts/new(.:format)
へのGET
リクエストでアクセスできるblog_posts
コントローラのnew
アクションを実行する
ということがわかります。
記事投稿フォーム表示機能のコントローラ
コントローラではnewアクションを実装します。
newアクションでは表示用の記事データを取得する必要があるので
というように投稿フォーム用のBlog::Postオブジェクトを作成します。
記事投稿フォーム表示機能のビュー
newアクションのビューでは記事投稿フォームを表示します。
次は今回作成した記事投稿フォームから送信したデータを受け取って記事を作成するcreateアクションの実装を行います。