1

class User <ActiveRecord :: Base has_one:core、:as =>:resource validates_presence_of:name end

class Core < ActiveRecord::Base
  belongs_to :resource, :polymorphic => true
  validates_presence_of     :email 
end

新しいユーザーを挿入するには、次のようなフォームを使用します。

<%= error_messages_for :user %>
<% form_for :user, :html => { :multipart => true, :id => "user_form", :class => "core_form" }, :url => "/users/create" do |user_form| -%>
<% user_form.fields_for :core_attributes, @user.core do |core_form| %>
   <%= core_form.text_field :name %>
   <%= user_form.text_field :email %>
<% end %>
  <% end %>

メールアドレスと名前を挿入せずにこのフォームを送信すると、railsはユーザーのエラーのみを表示します。同じリストにコアエラーも入れたいのですが、どうすればよいですか?

ありがとう

4

1 に答える 1

1

validates_associated(* attr_names) http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#M002171が必要かもしれないと思います

「関連付けられた1つまたは複数のオブジェクトがすべて有効であるかどうかを検証します。あらゆる種類の関連付けで機能します。」

于 2010-02-11T00:02:25.497 に答える