[英]Rails collection_select
經理:has_many
:interns
, :through => :assigns
實習生:has_many
:managers
, :through => :assigns
我正在嘗試創建新的分配記錄。 這是分配/新視圖,其中給定的經過認證的實習生正在與管理者創建新的關聯:
# assigns/new.html.erb
<% form_for @assign, :url => {:action => "create"} do |p| %>
<%= p.label "Select Manager", nil, :class => "label" %>
<%= collection_select :assign, :manager_id, @managers, :id, :manager_name, options ={:prompt => "Select a manager"}, html_options ={:class =>"listBox", :style => "width:25em;"} %>
<%= p.hidden_field :intern_id %>
<% end %>
# assigns controller
def new
@intern = Intern.find(params[:id])
@assign = Assign.new(:intern_id => @intern.id)
render :layout => 'centered'
end
def create
@assign = Assign.new(params[:assign])
@assign.manager_id = params[:manager_id]
if @assign.save
redirect_to :controller => "interns", :action => "home"
else
render :action => :new
end
end
問題是: manager_id
= nil
。 為什么? 非常感謝。
注釋以下或
@assign.manager_id = params[:manager_id]
或替換為
@assign.manager_id = params[:assign][:manager_id]
您不需要此行
@assign.manager_id = params[:manager_id]
您已經在前面的行中分配了manager_id
@assign = Assign.new(params[:assign])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.