2ページのサインアップフォームを作成して、UsersController
を使って電子メールとパスワードを入力してから、個人情報(名前、年齢)をDetailsController
で取得します。 2つのテーブルは1対1の関係でリンクされています。2つのビュー/コントローラ間で変数を渡す
user_id
フィールドをUsersController
からDetailsController
に渡すにはどうすればいいですか?
User.first
がこの例ではハードコードされています。しかし、新しいuser_id
を@detail.user
変数に渡したいと思います。
# config/routes.rb
resources :users do
resources :details
end
は次に、新しい詳細ページのためのルートは次のようになります:
/users/:user_id/details/new
これを実装する多くの方法の
def create
@detail = Detail.new(detail_params)
@detail.user = User.first
if @detail.save
flash[:notice] = "Your Details has been successfully saved"
redirect_to detail_path(@detail)
else
render 'new'
end
end