【发布时间】:2012-09-10 08:00:47
【问题描述】:
我试图将一个变量从控制器传递到我的表单,但无济于事。
它在另一个控制器中工作,但无法使其适用于新用户注册。
def update
@profile = Profile.find(params[:id])
@profile.form = "signup"
...
end
内部模型我可以通过@profile.form 来获取价值
这不适用于新用户注册: 内部创建动作:
undefined method `form=' for nil:NilClass
如何在新用户注册时将变量传递给我的模型? User = User.new 然后@user.form == "signup" 也不起作用,我的属性可访问列表中有 :form
部分模型:
attr_accessible form
...
validates :city_id, :presence => true, :if => :signup?
def signup?
#@profile.form == "signup"
#@user.form == "signup"
if self.form == "signup"
return true
else
return false
end
end
编辑 1: 仍然无法将参数传递给模型:S:S:S 尝试了所有可能的方法,谷歌找到了解决方案。
我的注册创建方法#create =
def create
profile = Profile.new
profile.form = "signup"
super
end
【问题讨论】:
-
你也应该在这里发布模型中的相关代码
-
@LukasStejskal 更新了问题,提供了有关模型的更多信息
-
能否提供视图代码?
-
@user1022209 贴出创建方法
标签: ruby-on-rails ruby-on-rails-3 activerecord model var