如何在新操作中使用与belongs_to关联的嵌套属性?

时间:2012-11-17 14:26:23

标签: ruby-on-rails ruby-on-rails-3 nested-forms nested-attributes

update操作中,以下nested_form有效,但在create我收到此错误:

Couldn't find Student with ID=12 for Cv with ID=


控制器:

def new
  @cv = Cv.new
  @cv.student = current_student
end

def create
  @cv = Cv.new(params[:cv])

  if @cv.save
    redirect_to student_dashboard_path,
      notice: t('activerecord.successful.messages.created', model: @cv.class.model_name.human)
  else
    render 'new'
  end
end


型号:

class Cv < ActiveRecord::Base
  attr_accessible :student_attributes

  belongs_to :student
  accepts_nested_attributes_for :student
end


查看:

= f.simple_fields_for :student do |s|
  = s.input :english_level, collection: [['Low', 1], ['High', 2]]

1 个答案:

答案 0 :(得分:1)

您也应该对route.rb进行更改。

resources :parent do
  resources :child
end

看看Jose Valim的这个有用的实现 - inherited-resources