4RubyRails4でRESTfulアプリケーションの7アクション+αを作る(第4回)Railscreateアクションで記事を作成するシェアB!Pocket前回はnewアクションでRESTfulな記事投稿フォーム表示機能を実装しました。今回はその投稿フォームから受け取ったデータで記事を作成するcreateアクションでの実装を行います。(2014/10/03)記事作成機能のルーティング設定まずはroutes.rbでcreateアクションのルーティング設定を行います。[:create]と設定します。blog/posts#createという行が出力されます。このURIは実はindexアクションと同じなのですが、createアクションの場合はGETメソッドではなくPOSTメソッドのリクエストを受け付けるというところが違います。このようにリクエストメソッドによって動作を変えるところがRESTの大事なポイントです。ルーティング情報を確認するとPrefixはblog_postsで、blog_posts_pathといったヘルパーでパスを取得できる/blog/posts(.:format)へのPOSTリクエストでアクセスできるblog_postsコントローラのcreateアクションを実行するということがわかります。記事作成機能のコントローラコントローラではcreateアクションを実装します。createアクションでは受け取ったパラメタからBlog::Postオブジェクトを作成してデータベースに保存します。Parametersという機能を使ってマスアサインメント脆弱性を回避しているのですが、詳しい説明はここでは省略します。記事作成機能にはビューは用意していません。記事作成に成功したら記事一覧ページにリダイレクトするように、失敗したら再度記事投稿フォームを表示するようにしています。ここまでで記事の投稿・閲覧が行えるようになりました。次回はeditアクションでの記事編集フォーム表示を行います。(2014/12/11)おすすめブログ湘南・藤沢おすすめ情報ブログ@湘南T-SITE湘南近辺のおすすめローカル情報です業務スーパーかんたんレシピ業務スーパーを使ったおすすめ料理レシピですポケットサックス演奏動画とかブログポケットサックスに合う曲の演奏動画とかプロフィールharacane湘南から渋谷のスポーツTechベンチャーに通うエンジニアです。現在はFanForwardでチーフエンジニアしてます。設計・開発をしていました。技術分野はRuby/Railsベースのアジャイル開発、Hadoopでの大規模分散処理など。とどろきアリーナにも家族連れでよく通っています。@haracaneトップ連載記事ジャンルデータ処理RubyJekyllその他バックナンバ。