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 form 中有一个下拉选择字段的想法。

任何建议都会有所帮助,谢谢!

4

1 回答 1

0

我能够找到解决问题的方法。下拉选择表单和查看代码保持不变。它现在显示与用户关联的程序,而不是显示文本“程序”。

添加serialize到program.rb:

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