【发布时间】:2026-02-12 21:00:01
【问题描述】:
我有一个 Rails 辅助方法...
def current_user
@user = User.find(cookies[:user_id]) if cookies[:user_id]
end
我想给它添加一个非数据库属性...
self.custom_property = true
所以我可以在我的视图中访问它。
<%= current_user.custom_property %>
但是,Rails 说“未定义的方法:custom_property”
这是完整的代码:
def current_user
@user = User.find(cookies[:user_id]) if cookies[:user_id]
@user.ribbon_array ||= []
self.is_moderator = @user.ribbon_array.include?(1) ? true : false
end
我想这样做,所以在我看来,我可以检查 current_user.is_moderator。在我的代码的其他地方,我有一个特定于每个页面的 @is_moderator 变量,但这个变量将在整个应用程序中使用,并且特定于 current_user 而不是配置文件上的用户。
【问题讨论】:
-
@Joshua Scott 的回答是最好的。但是,如果您想分享您为什么要这样做,也许我们可以帮助您找出更好的方法?
-
@fotanus 当然,我会编辑帖子。
标签: ruby-on-rails ruby