
RailsでJSON形式のデータを受け取ってPOST,createする方法です。
まずはscaffold
$ rails new user_json $ rails g scaffold user name:string address:string $ rake db:migrate
postリクエストをDHCを使って送る
このChrome extensionを使ってpostリクエストをしてみる。
bodyはjson形式を選択してください。
そしてJSONの構文は以下に習ってください。
私はこの構文が間違っていて、2時間つまづいてました。
構文が間違っているとparse error
が発生します。
postリクエスト先はhttp://localhost:3000.users.jsonです。
{ "user": { "name": "acme", "address": "123 Carrot Street" } }
Action Controller Overview — Ruby on Rails Guides
enumを使っている場合
enummを使っている場合は"enum定義"
で送信できます。:"enum定義"
などではないので注意が必要です。
CSRFエラー
このままだとActionController::InvalidAuthenticityToken
が発生します。そのときはCSRF機能を無効にすればとりあえずはPOSTできます。
class UsersController < ApplicationController before_action :set_user, only: [:show, :edit, :update, :destroy] skip_before_filter :verify_authenticity_token
コメントを残す