Rails 3,建模问题

时间:2010-09-11 16:37:53

标签: ruby-on-rails activerecord ruby-on-rails-3

rails 3 newbie,使用Devise for auth ...

我想创建以下模型:

class Instance < ActiveRecord::Base
 has_many :users
 has_many :notes
end 

class User < ActiveRecord::Base
 belongs_to :instance
end

class Note < ActiveRecord::Base
 belongs_to :instance
end

在notes_controller.rb中创建新笔记

def create
 @note = instance.notes.build(params[:note].merge(:instance_id => current_user.instance_id))
end

但是我得到以下错误:“未定义的局部变量或方法`实例'用于#”

想法?

1 个答案:

答案 0 :(得分:0)

您尚未为“实例”分配任何内容,因此无需参考。如果您知道数据库中已存在实例记录,则可以执行以下操作:

@instance = current_user.instance
@note = Note.create(:instace_id => @instance.id)

如果没有,您需要先使用相同的语法检查并创建它。