【发布时间】:2010-11-23 20:54:44
【问题描述】:
在我的 Ruby on Rails 应用程序中,我想为配置文件创建一个新的配置文件和一个新的统计信息,所有这些都首先从用户模型调用相关方法,然后从配置文件模型调用。
所以……
...在我的用户模型(user.rb)中我有这个:
...
has_one :profile
...
before_save :inizialize_user
...
private
def inizialize_user
@user_profile = Profile.new
self.user_profile_id = @user_profile.id
end
...在我的个人资料模型 (profiles.rb) 我有这个:
...
belongs_to :user
...
before_save :inizialize_profile
private
def inizialize_profile
@profile_statistic = ProfileStatistic.new
end
在第二个代码块中,在“before_save”中,它实例化了一个新的配置文件统计信息: “检查”@profile_statistic 生成一个新对象(正确!)
在第一个代码块中,在“before_save”中它不会实例化新的配置文件: “检查”@user_profile 结果为零(它必须是一个新的配置文件对象!)
最后一部分是我的问题。为什么会这样?
【问题讨论】:
标签: ruby-on-rails-3 methods model controller