[RAILS]:在产品表单

时间:2018-03-12 10:57:02

标签: ruby-on-rails model controller form-for jointable

我是Ror的新人, 我开发了一个应用程序,您可以在其中为产品选择多个类别。 我尝试在我的“产品”表单中添加一个预选类别的多个复选框,但我没有成功显示它。我有一个Category的模型和Product的模型,以及它们之间的连接表。

create_table "categories_products", id: false, force: :cascade do |t|
    t.bigint "category_id", null: false
    t.bigint "product_id", null: false

我没有成功在表单中显示预先选择的选项复选框。我需要一些帮助。请提前。 这是我的代码: 应用程序/模型/ category.rb:

has_and_belongs_to_many :products, dependent: :destroy

应用程序/模型/ product.rb:

has_and_belongs_to_many :categories

Product Controller.rb:

params.require(:product).permit(:name, category_ids:[ ])

视图/产品/ _form:

<div class="container-fluid">
    <%= form_for @product, html: {multipart: true} do |f| %>
    <div class="panel-heading">
      <h5>Détails projet:</h5>
    </div>
    <div class="row">
      <div class="col-xs-8">
        <div class="form-group">
          <label>Nom du projet (max. 20 caractères)</label>
          <%= f.text_field :name, placeholder: "Nom du projet", class: "form-control" %>
        </div>
      </div>
      <div class="col-xs-4">
      <div class="form-group">
          <%= f.label "Categorie de projet:" %><br />
          <%= f.collection_check_boxes :category_ids, Category.all, :id, :name do |b| %>
          <div class=« collection-check-box">
            <%= b.check_box %>
            <%= b.label %>
          </div>
          <% end %>
        </div>
  <div class="actions">
    <%= f.submit "Valider le projet", class: 'btn btn-md btn-danger' %>
  </div>
  <% end %>

1 个答案:

答案 0 :(得分:2)

试试这个应该有效的

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="mainBox"></div>

您可以看到API doc了解更多选项