无法保存嵌套的belongs_to关联记录

时间:2012-08-04 09:24:52

标签: ruby-on-rails-3 ruby-on-rails-3.1 associations nested-forms

我有一个典型的模型控制器实现与许多嵌套表单。

以下是详细信息: -

article.rb: -

belongs_to :author
accepts_nested_attributes_for :author

author.rb: -

attr_accessible :first_name, :last_name
has_many :articles

project.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

projects_controller.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

我输出为零,有人可以告诉我这是什么问题吗?

1 个答案:

答案 0 :(得分:1)

您可以通过

检查错误
p.errors.messages

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