Ruby on rails 检查我们是否在模型方法中的视图上下文中

Ruby on rails 检查我们是否在模型方法中的视图上下文中,ruby-on-rails,activerecord,actionview,Ruby On Rails,Activerecord,Actionview,在我的用户模型中,我像这样覆盖id class User < ApplicationRecord def id return "something" end end class用户

在我的用户模型中,我像这样覆盖id

class User < ApplicationRecord
    def id
        return "something"
    end
end
class用户
但是,我希望仅当我们在视图上下文中时才覆盖它,否则,如果我们从控制器或模型调用它,那么我希望返回“main”id


这可能吗?

您到底想用这段代码做什么?这是否用于类似url生成(您希望
/user/something
而不是
/user/1
)?@SimpleTime是的,我刚刚创建了一个gem,正是这样做的,问题是当我尝试更新记录时,“where id=?”部分正在调用覆盖的id(在本例中是“something”)而不是像1或2这样的原始id。。。