postmanで、postリクエストを送り、createアクションを通じてjsonで返すまで
createアクションは以下
projects_controller
def create
@project = Project.new(project_params)
@project.save
render json: @project
end
private
def project_params
params.require(:project).permit(:title, :status)
end
postmanにpostのURLを入力
URLの下のバーから「body」を選択
下の「row」を選択
右端のタブの中から「json」を選択
入力フィールドにjson形式でデータを入力
projectモデルの、titleカラムとstatusの例
{
"project": {
"title": "first project",
"status": "closed"
}
}
これでpostリクエストを選択し、sendするとcreateアクションが実行され、jsonでデータが返ってくる。
DBにも正常にオブジェクトが保存されている。
irb(main):003:0> Project.all
Project Load (0.7ms) SELECT "projects".* FROM "projects" WHERE "projects"."deleted_at" IS NULL LIMIT $1 [["LIMIT", 11]]
=> #<ActiveRecord::Relation [#<Project id: 11, title: "first project", deleted_at: nil, created_at: "2019-02-16 00:21:17", updated_at: "2019-02-16 00:21:17", status: "closed">, #<Project id: 12, title: "test P", deleted_at: nil, created_at: "2019-02-16 00:22:07", updated_at: "2019-02-16 00:22:07", status: "closed">]>
updateアクションの場合
def update
@project.update_attributes(project_params)
render json: @project
end
def project_params
params.require(:project).permit(:title, :status)
end
postmanでputchリクエストを選択
URLはprojects/:idにしてsend
参考