2012-04-17 79 views
1

我對select標籤有個大問題。在我看來,我有以下代碼:在Rails 3.1中選擇標籤

<%= select 'lw', Logicalwarehouse.all %> 

在我的控制器:

.... 
@logical_wh = Logicalwarehouse.find(params['lw']) 
    @project.logicalwarehouses << @logical_wh 
    respond_to do |format| 
     if @project.update_attributes(params[:project]) 
     flash[:notice] = 'Project was successfully updated.' 
     format.html { redirect_to(@project) } 
     format.xml { head :ok } 
     else 
     format.html { render :action => "edit" } 
     format.xml { render :xml => @project.errors, :status => :unprocessable_entity } 
     end 
    end 
... 

另外,我想在我看來,使用drop.down菜單,可以讓我所有Logicalwarehouse對象之間的選擇將返回lw變量內的選定對象,返回給控制器。我在查看select字段時遇到問題。 Rails返回一個錯誤,它有錯誤的參數(2 for 3),有什麼建議嗎? 謝謝大家

回答

2

我不知道具有Logicalwarehouse描述的屬性的名稱。我想這是name

<%= select "lw", "id", Logicalwarehouse.all.map{|lw| [ lw.name, lw.id ] } %> 

UPD: 選擇id將通過params[:lw][:id]

+0

它不起作用! – Marco 2012-04-17 10:06:11

+0

你能更具體嗎?你會得到什麼錯誤或其他什麼? – jdoe 2012-04-17 10:13:47

+0

當我點擊提交時,rails會返回一個與null對象相關的錯誤。我應該在控制器中使用以下內容:share [g +] share [fb] share [tw] \t 我在選擇標記時遇到了一個大問題。我認爲我已經以下代碼: <(%)=選擇 'LW',Logicalwarehouse.all%> 和在我的控制器: .... @logical_wh = Logicalwarehouse.find(PARAMS ['LW '],['id'])來反映你的視圖的代碼? – Marco 2012-04-17 10:29:29