記事の概要
link_toでのcreateを実装したのでメモ。
いつもcreate実行するときはform_withのフォームからユーザーが入力したものを送信してサーバー側で受け取りcreateすることが多い。しかし、ユーザーが何も情報を入力する必要がないとき(開発者が予め決めている時など)、リンクボタン押すだけでcreateアクションを実行することを想定します。
コード
ビューファイルの記述例。 hogesコントローラーのcreateアクションへのパスを指定し、その後ろに送りたいパラメータを記述する。そして、link_toの後ろにHTTPメソッドのPOSTを指定する!!
views/hoges/new.html
<%= link_to "fuga", hoges_path(user_id: current_user.id, hoge_name: current_user.name), method: :post %>
受け取る側の記述。
hoges_controller
class HogesController < ApplicationController
def create
Hoge.create(user_id: params[:user_id], hoge_name: "#{params[:hoge_name]}")
end
end