0

プロジェクトに飛び込んでRuby on Railsを学ぶ初心者です。この質問はおそらく純粋な Ruby であり、Rails とは何の関係もありません。また、Active_Admin を使用していることにも注意してください。

次の 2 つのクラスがあります: 所有者と電話。

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

所有者と電話の両方を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 に答える