选择形式(Rails)的多个类别



我已经有了我要分配类别的三个三构建器。因此,我将这些模型设置为旅行可以在我的数据库中具有类别表中的任何(或更多)类别。然而;我不知道如何设置表单,允许用户通过复选框选择类别。由于在这种情况下,fields_for听起来并不像是一种可靠的方法(因为我想查看所有类别,并选择一个复选框,然后选择最多的类别)。谁能帮我吗?

我尝试了此表格:

<%= form_for @trip, :html => {:multipart => true} do |a| %> 
    <%= a.label :title, "Routetitel" %>
    <%= a.text_field :title %>
    <%= a.label :description, "Omschrijving" %>
    <%= a.text_area :description %>
    <%= a.fields_for :categories do |cat| %>
        <%= cat.check_box :name %>
    <% end %>
    <%= a.submit 'Verstuur' %>
<% end %>

首先,您需要设置旅行与类别之间的关系:

class Trip < ActiveRecord::Base
  has_and_belongs_to_many :categories
end

然后您可以这样构建形式:

<%= form_for @trip, :html => {:multipart => true} do |a| %> 
    <%= a.label :title, "Routetitel" %>
    <%= a.text_field :title %>
    <%= a.label :description, "Omschrijving" %>
    <%= a.text_area :description %>
    <% Category.all.each do |cat| %>
        <%= check_box_tag "trip[category_ids][]", cat.id, @trip.catergory_ids.include?(cat.id)
    <% end %>
    <%= a.submit 'Verstuur' %>
<% end %>

是的,可以使用SELECT TAG和multiple属性进行选择。

    <% = a.select :categories, Category.all.collect {|c| [c.name, c.id]}, :include_blank => true', :multiple => "multiple" %>

请如下所述修改您的fields_for,并检查!!!!

<%= a.fields_for "categories[]" do |cat| %>
    <%= cat.check_box :name %>
<% end %>

相关内容

  • 没有找到相关文章

最新更新