Rails 3,mysql连接表和habtm

时间:2011-02-22 05:06:01

标签: ruby-on-rails

我创建了2个名为products and brands的表,并通过迁移创建了一个名为brands_products的连接表。

在每个模型中,我编写了相应的has_and_belongs_to_many设置。

如果表单中包含以下代码:

<%= form_for(@product) do |f| %>
    <% if @product.errors.any? %>
    <div id="error_explanation">
        <h2><%= pluralize(@product.errors.count, "error") %> prohibited this product from being saved:</h2>

        <ul>
            <% @product.errors.full_messages.each do |msg| %>
            <li><%= msg %></li>
            <% end %>
        </ul>
    </div>
    <% end %>

    <div class="field">
        <%= f.label :name %><br />
        <%= f.text_field :name %>
    </div>
    <div class="field">
        <%= f.label :brand %><br />
        <%= f.text_field (what to write?) %>
    </div>
    <div class="actions">
        <%= f.submit %>
    </div>
    <% end %>

我不知道如何直观地为产品添加品牌,就像Rails通常的工作方式......任何想法?

1 个答案:

答案 0 :(得分:0)

您可能需要查看accepts_nested_attributes_for。您还需要查看fields_for。如果没有看到更多的数据模型,很难给出详细的答案。

通常,它看起来像:

<%- f.fields_for :brands do |m| -%>
    <%= m.text_field :name %>
<%- end -%>