前提・実現したいこと
railsでマッチングサービスのシステムを作っている初学者です。
userモデルのprofileビューに書いたlink_toをクリックした時、familyモデルのindexビューに遷移させたいのですが、その際、link_toのオプションでfamily_idを渡し、それをfamilies_controllerのindexアクションで受けたいです。
発生している問題
下記はlink_toをクリックした時のログです。きちんとfamilies_controllerのindexアクションが動作しているようですが、families_controllerのparamsでlink_toからの[:family_id]を受け取る事ができません。(families_controllerのindexアクションでparams[:family_id]の中身を調べるとnilとなります)
Started GET "/families/index" for 127.0.0.1 at 2019-12-30 20:33:39 +0900 (0.8ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC ↳ /Users/takeshi/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:98 Processing by FamiliesController#index as HTML
views/users/profile.html.erb
ruby
1<%= link_to("家族情報を確認する", "/families/index", family_id: @user.families.ids) %>
families_controller.rb
ruby
1def index 2 @family_date = Family.where(id: params[:family_id]) 3end
試したこと
views/users/profile.html.erbに<%= @user.families.ids %>
と書くと、ブラウザ上で[5]と表示されるので、@user.families.idsにはきちんと値が入っているようです。
rails link to params 等でググりましたが解決できずこちらで質問するに至りました。
補足情報(FW/ツールのバージョンなど)
userモデルとfamilyモデルは1対多という関係です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/01 11:25
2020/01/01 21:52
2020/01/02 08:37
2020/01/02 09:00
2020/01/02 09:02
2020/01/03 22:00
2020/01/03 23:44
2020/01/04 06:35
2020/01/04 07:12