私は2つのモデルを持っています、User
そしてAccount
Accounts
モデルは名前と組織の存在を検証しますUser
モデルは電子メールとパスワードの存在を検証します
2 つのモデルを組み合わせたアカウント作成用の 1 つのフォームがあります: からのアカウント名と組織、からAccount
の電子メールとパスワードUser
。
アカウントの作成時に両方のモデルを検証するにはどうすればよいですか?
私は2つのモデルを持っています、User
そしてAccount
Accounts
モデルは名前と組織の存在を検証しますUser
モデルは電子メールとパスワードの存在を検証します2 つのモデルを組み合わせたアカウント作成用の 1 つのフォームがあります: からのアカウント名と組織、からAccount
の電子メールとパスワードUser
。
アカウントの作成時に両方のモデルを検証するにはどうすればよいですか?
両方のモデルを完全に検証できます。以下で開始する必要がありますが、認識できないコマンドを検索して、さらにヘルプを取得してください。
最初にモデルをリンクし、子の検証でネストされた属性を許可します。
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 の属性を更新すると、アカウント属性が自動的にアカウント パラメータで更新されます。次に、親が検証されると、子も検証されます。