-1

当我进入编辑页面时,我在 Rails 3.2.8 中使用嵌套表单,当您添加嵌套属性并将其设为空并提交表单时,嵌套属性未经过验证,并且不显示这些如何操作的消息以嵌套形式验证嵌套属性

4

1 回答 1

3

让我们考虑您的代码如下:

用户模型:

class User < ActiveRecord::Base  
  has_one :company      
  attr_accessible :first_name, :last_name     
  validates :first_name, :presence => true   
  validates :last_name, :presence => true   
  accepts_nested_attributes_for :Company   
end

用户模型有一家公司,假设我们要接受用户公司的嵌套属性。

公司型号:

class Company < ActiveRecord::Base
   belongs_to :User
   attr_accessible :company_name, :address
   validates :company_name, :presence => true
   validates :address, :presence => true
end

公司模型具有公司名称和地址。您可以从用户视图中接受公司属性,并在用户保存时检查验证,即用户和公司。如果任何验证失败,您将在用户中获得它为此添加以下行到您的用户视图

<% if @user.errors.any? %>
        <div id="error_explanation">
          <div class="alert alert-error">
            The form contains <%= pluralize(@user.errors.count, "error") %>.
          </div>
          <ul>
            <% @user.errors.full_messages.each do |msg| %>
                <li><%= msg %></li>
            <% end %>
          </ul>
        </div> 
   <% end %>
于 2013-04-18T05:32:17.610 回答