簡體   English   中英

Rails collection_select

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM