0

这里是初学者,通过跳入一个项目来学习 ruby​​ on rails。这个问题可能是纯红宝石,与rails无关。我还想指出我正在使用 Active_Admin。

我有以下两个类:所有者和电话。

class Owner < ActiveRecord::Base
  attr_accessible :email, :password,
  has_many :phones
end

class Phone < ActiveRecord::Base
  attr_accessible :owner_id :model
  belongs_to :owner
end

我将如何从手机模型中访问所有者的电子邮件,例如:

form do |f|
  f.inputs "Phone Details" do
    f.input :model
    f.input :owner_id   # This is where I want the email, not the owners id.
  end
  f.buttons
end

看来我应该在跳入铁轨之前复习一下镐书并完善我的红宝石。

谢谢

4

2 回答 2

1

要将所有者和电话放在一个表单中,您的表单应如下所示:

form_for @phone do |phone_form|
  phone_form.label :model
  phone_form.text_field :model
  fields_for @phone.owner do |owner_fields|
    owner_fields.label :email
    owner_fields.text_field :email

如果您使用此方法,请确保您可以通过设置模型Owner来更新模型。Phoneaccepts_nested_attributes_for :ownerPhone

于 2012-07-11T02:28:24.733 回答
0

在这种情况下,您应该使用nested form. 这个railscast很好地解释了嵌套形式的用法。

于 2012-07-11T18:50:12.180 回答