Rails表格下拉选择,保存到表格并在视图中显示

时间:2016-05-05 23:46:54

标签: ruby-on-rails forms drop-down-menu collection-select

我创建了一个用户和程序表,以及一个连接表。每个用户has_and_belongs_to_many:程序和每个程序has_and_belongs_to_many:user。

使用下拉选择,我想选择一个程序并将其保存给用户。但是在我保存之后,显示屏始终显示文字" Program"而不是从下拉列表中选择的实际程序名称。

下拉选择表单:

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

显示用户所属的程序:

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

我不确定我是否正确地将程序保存到用户,或者我是否显示错误的变量。我跟随how to have a dropdown select field in a rails form的想法。

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

1 个答案:

答案 0 :(得分:0)

我能够找到解决问题的方法。下拉选择表单和视图代码保持不变。它现在显示与用户关联的程序,而不是显示文本&#34; Program&#34;。

serialize添加到program.rb:

class Program < ActiveRecord::Base
  has_and_belongs_to_many :users
  serialize :program
end