2010-06-09 68 views

回答

2

可以加载任何控制器中的任何模型 - 只需像往常一样调用它。

如果您需要从Profiles控制器加载User,你可以只使用User.find_by_whatever()User.newcurrent_profile.user - 不知道你的协会是如何成立的,但不应该有任何访问限制。

+0

一个例子,当我使用像 @user = User.new; @a = User.find(:all) 它显示错误“未初始化的恒定ProfileController ::用户” 我缺少的任何东西? – ashok 2010-06-09 11:07:46

+2

你肯定有一个用户模型设置?你能从用户控制器中调用它吗,还是不存在? – Jeriko 2010-06-09 11:30:18

13

模型是独立的实体,你可以从任何控制器调用它。

There can be a model without a controller and vice-versa. 

对于你的问题采取下面

class ProfileController < ApplicationController 

    def some_method 
    @user = User.find(params[:user_id]) 
    if @user.update_attributes(params[:user]) 
     // some action 
    else 

     // some action 
    end 
    end 

end 
+1

这是可接受的做法吗? – Shamoon 2012-01-18 19:37:53

+2

yes ofcourse .... – Salil 2012-01-19 06:02:28

相关问题