collection_selectの内容を動的に変える処理を行っています。
(チームを選択するとチームに所属するメンバーを選択肢とする)
開発環境では問題なく動くのですが、実行環境(HEROKU)では動きません。
色々試してみたところ
【member_select.js.erb】が動いていない?通っていない?ような感じです。
(開発環境ではエラーになるコードに書き換えた!)
heroku log を見てもエラーも無く困っています。
heroku restartもやってみました!
config.assets.compile = trueもやってみました!
どこが問題なのでしょうか?
よろしくお願いします。
Railsのバージョンは5.0.0.1です
【routes.rb】 resources :games do get '/member_select', to: 'games#member_select',on: :collection end
【games_controller.rb】 def index @games=Game.all end ・・・省略・・・ def member_select # メンバーをチームidで絞込 @members = Member.where(team_id: params[:team_id]).pluck(:name, :id) # 初期値 @members.unshift(["選択してください。", ""]) end
【_form.html.erb】 <%= form_for(@game) do |f| %> ・・・省略・・・ <%= f.label :team_id %> <%= f.collection_select :team_id, @teams, :id, :name, :include_blank => true %> <%= f.label :member_id %> <%= f.collection_select :member_id, @members, :id, :name, :include_blank => true %> <% end %>
【member_select.js.erb】 #チームidで絞り込まれたメンバーでcollection_selectの内容を書き換え $("#game_member_id").html("<%= j (options_for_select(@members)) %>");
【games.cofffee】 チームidが変更されたら、member_selectアクションを実行 $(document).on "turbolinks:load", -> $('#game_team_id').change -> team_id = $('#game_team_id').val() $.get '/games/member_select', { team_id: team_id }, (data) -> return return
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。