0

私は2つのモデルを持っています、UserそしてAccount

  • Accountsモデルは名前と組織の存在を検証します
  • Userモデルは電子メールとパスワードの存在を検証します

2 つのモデルを組み合わせたアカウント作成用の 1 つのフォームがあります: からのアカウント名と組織、からAccountの電子メールとパスワードUser

アカウントの作成時に両方のモデルを検証するにはどうすればよいですか?

4

1 に答える 1

0

両方のモデルを完全に検証できます。以下で開始する必要がありますが、認識できないコマンドを検索して、さらにヘルプを取得してください。

最初にモデルをリンクし、子の検証でネストされた属性を許可します。

class User < ActiveRecord::Base
  has_one :account
  accepts_nested_attributes_for :account
  validates_associated :account
end

class Account < ActiveRecord::Base
  belongs_to :user
end

ヘルパーを使用しfields_forてフォームを定義します。

<% form_for @user do |form| %>
  <%= form.input :email %>
  <% form.fields_for :account do |account_fields| %>
    <%= account_fields.input :organization %>
  <% end %>
  <%= form.submit %>
<% end %>

コントローラーで @user の属性を更新すると、アカウント属性が自動的にアカウント パラメータで更新されます。次に、親が検証されると、子も検証されます。

于 2013-09-18T15:03:49.020 に答える