我有一个典型的模型控制器实现与许多嵌套表单。
以下是详细信息: -
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
我输出为零,有人可以告诉我这是什么问题吗?
答案 0 :(得分:1)
您可以通过
检查错误p.errors.messages
我打赌有一个验证没有通过。