0

我有点不确定如何存储来自 collection_tag 的数据。

这是我正在研究的模型

Customer         GenderManager      Genders
Id               Id                 Id
First            Customer_id        Description
Last             Gender_id
Email            Created_at
Password

这里的关系

Customer::class
  has_many :gender_managers
  accepts_nested_attributes_for :gender_managers, allow_destroy: :true
Gender::class
  has_many :gender_managers
GenderManagers:class
  belongs_to :customer_id
  belongs_to :gender_id

我目前拥有的表格如下

 <%= form_for @customer do |f| %>
    <div class="customer_edit_error_message">
            <%= render 'shared/error_messages' %>
    </div>
    <fieldset>
    <div class="customer_edit_name">
            <%= f.label :first_name %>
            <%= f.text_field :first_name %>
    </div>

    <div class="customer_edit_middle_name">
            <%= f.label :middle_name %>
            <%= f.text_field :middle_name %>
    </div>

    <div class="customer_edit_last_name">
            <%= f.label :last_name %>
            <%= f.text_field :last_name %>
    </div>

    <div class="customer_edit_gender">
    <%= f.collection_select(:customer, :id, Gender.all, :id, :description) %>
    </div>
    <div class="customer_edit_button">
            <%= f.submit "Save changes", class: "button_accept" %>
    </div>
  <% end %>

在 customerController 中不确定我是否必须做某事。我知道它给我错误是不对的。它的形式让我担心选择像

提前致谢。

4

1 回答 1

0

gender我建议您为模型添加一个属性Customer。如果您想跟踪更改,您可以创建一个GenderHistory模型并执行以下操作Customer

class Customer < ActiveRecord::Base
  has_many :gender_histories
  before_update :track_gender

  def track_gender
    self.gender_histories.create(:gender => self.gender) if self.gender_changed?
  end
end

您的GendersGenderManager模型不是必需的。

于 2012-08-14T06:36:42.137 回答