Drop down menu Rails:显示集合的下拉菜单。选择

Drop down menu Rails:显示集合的下拉菜单。选择,drop-down-menu,ruby-on-rails-3.2,Drop Down Menu,Ruby On Rails 3.2,在我的rails应用程序中,我在下拉列表中显示子类别 <%= f.fields_for :product_sub_categories do |product_sub_category| %> <%= product_sub_category.collection_select :sub_category_id, @sub_categories, :id, :sub_category, {:include_blank => 'Select a Sub Cat

在我的rails应用程序中,我在下拉列表中显示子类别

  <%= f.fields_for :product_sub_categories do |product_sub_category| %>
     <%= product_sub_category.collection_select :sub_category_id, @sub_categories, :id, :sub_category, {:include_blank => 'Select a Sub Category'} %>
      <% if @product.product_sub_categories.size > 1%>
       <%= product_sub_category.link_to_remove "Remove", :class => "subcatlink" %>
      <%end%>
   <% end %>
   <%= f.link_to_add 'Add', :product_sub_categories, "data-association-insertion-node"=> ".product_sub_categories",  "data-association-insertion-position" => "append", "data-type" => "link", :class => "subcatlink"%>

'选择子类别'}%>
1%>
“子链接”%>
“.product\u sub\u categories”,“数据关联插入位置”=>“append”,“数据类型”=>“link”,:class=>“subcatlink”%>
但默认情况下,它不显示下拉列表。当用户单击“添加”链接时,它会显示下拉列表

  <%= f.fields_for :product_sub_categories do |product_sub_category| %>
     <%= product_sub_category.collection_select :sub_category_id, @sub_categories, :id, :sub_category, {:include_blank => 'Select a Sub Category'} %>
      <% if @product.product_sub_categories.size > 1%>
       <%= product_sub_category.link_to_remove "Remove", :class => "subcatlink" %>
      <%end%>
   <% end %>
   <%= f.link_to_add 'Add', :product_sub_categories, "data-association-insertion-node"=> ".product_sub_categories",  "data-association-insertion-position" => "append", "data-type" => "link", :class => "subcatlink"%>
我猜它没有进入循环“f.fields_for:product_sub_categories do | product_sub_categories |”

如何编写代码,使其显示一个下拉菜单,并通过单击“添加”添加其他菜单


有人能帮忙吗?

您需要将子对象的初始(未保存)实例添加到父对象中,以便在呈现子对象时,在添加链接之前呈现一个空白表单

您可以选择仅在父项没有子项时执行此操作,或者选择始终执行此操作以强制始终显示空白表单。例如:

控制器:

def edit
  @parent = Parent.find(params[:id])
  @parent.sub_categories << SubCategory.new if @parent.sub_categories.blank? # only if no children already
  # or 
  @parent.sub_categories << SubCategory.new # always
end
def编辑
@parent=parent.find(参数[:id])
@parent.sub_类别