使用类变量

时间:2012-07-11 02:00:34

标签: ruby-on-rails ruby formtastic

初学者,通过跳入项目来学习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

看起来我应该检查一下镐书并在进入轨道之前优化我的红宝石。

由于

2 个答案:

答案 0 :(得分: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模型上设置accepts_nested_attributes_for :owner来更新Phone模型中的Phone

答案 1 :(得分:0)

在这种情况下,您应该使用nested form。在this railscast中很好地解释了嵌套表单的用法。