0

我有一个典型的模型控制器关系,有很多嵌套形式。

以下是详细信息:-

文章.rb :-

belongs_to :author
accepts_nested_attributes_for :author

作者.rb :-

attr_accessible :first_name, :last_name
has_many :articles

项目.rb

has_many :work_pairs
  has_many :source_articles, :through => :work_pairs

accepts_nested_attributes_for :work_pairs
  accepts_nested_attributes_for :source_articles

项目/new.html.slim

= semantic_form_for @project, :html => { :id => 'project_form' } do |form|
  = form.inputs do
    = form.input :user_id, :as => :hidden, :value => current_user.id

    = form.semantic_fields_for :source_articles do |article|
      = article.input :name_article, :label => "Name of the Article"

      = article.semantic_fields_for :author do |author|
        = author.input :first_name
        = author.input :last_name

项目控制器.rb

def new
    return unless require_login
    new! do
      @title = t('projects.new.title')
      @project.rewards.build
      @project.work_pairs.build
      @project.source_articles.build
      @project.source_articles.first.build_author
      @project.source_articles.first.build_publisher
    end
  end

但是,当我的作者记录没有保存在数据库中时,它也不会显示任何错误。

当我尝试通过这样做从控制台访问作者时:-

p = Project.first
p.source_articles.first.author

我得到 nil 作为输出,有人可以告诉我是什么问题吗?

4

1 回答 1

1

您可以通过以下方式检查错误

p.errors.messages

我敢打赌,有一个没有通过的验证。

于 2012-08-05T16:28:49.200 回答