在Rails 3.1中选择标签

时间:2012-04-17 09:45:02

标签: ruby-on-rails select ruby-on-rails-3.1

我对select标签存在很大问题。在我看来,我有以下代码:

 <%= 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),任何建议? 谢谢大家

1 个答案:

答案 0 :(得分:2)

我不知道具有Logicalwarehouse描述的属性的名称。我认为它是name

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

<强> UPD: 选定的id将通过params[:lw][:id]提供。