0

ユーザーとプログラムのテーブル、および結合テーブルを作成しました。各ユーザーには has_and_belongs_to_many :programs があり、各プログラムには has_and_belongs_to_many :user があります。

ドロップダウン選択を使用して、プログラムを選択してユーザーに保存したかったのです。しかし、保存すると、ドロップダウンから選択した実際のプログラム名ではなく、常に「プログラム」というテキストがディスプレイに表示されます。

ドロップダウン選択フォーム:

<%= f.collection_select(:program_ids, Program.all, :id, :name, :include_blank => "Choose a Program" ) %>

ユーザーが所属するプログラムを表示します。

<% @user.programs.each do |program| %>
  <%= program.name %> 
<% end %>

プログラムをユーザーに正しく保存しているのか、変数を間違って表示しているのかわかりません。Railsフォームにドロップダウン選択フィールドを作成する方法のアイデアに従いました。

どんな提案でも役に立ちます、ありがとう!

4

1 に答える 1

0

問題の解決策を見つけることができました。ドロップダウン選択フォームとビュー コードは同じままでした。テキスト「プログラム」を表示する代わりに、ユーザーに関連付けられたプログラムを表示するようになりました。

serializeprogram.rb に追加:

class Program < ActiveRecord::Base
  has_and_belongs_to_many :users
  serialize :program
end
于 2016-05-09T19:19:31.157 に答える