4-1.POSTでitemを新規作成

1.未経験が3ヶ月でエンジニアになるために何をする

この記事の課題1を実施します。

routeでpostメソッドで、
Projectsコントローラーのcreate_itemメソッドを
呼び出すように指定する
この時URLから:titleを変数として受け取る

 

【routes.rb】

post 'projects/post/:title' => 'projects#create_item

 

【projects_controller.rb】

def create_item
@project = Project.new
@project.title = params[:title]
@project.save
render json : @project
end

 

新規projectを作成、titleにroutesで受け取った:titleを
projectのtitleに格納→保存
render jsonで@projectmを表示して完了。

 

と思いきや

URLからPOSTをしてみたものの
Rails4
以降の規約か何かでPOSTを一部禁止している?らしいです
受け取ることができなかったので調べた結果

protect_from_forgery with: :exception
これを元々のcontrollerにツッコんどけば
POSTを受け取ってくれました

以上です。