0

我需要检查一个事物的 id 是否在我的会话变量中。

我的直觉是向 Thing 模型添加一个方法,该方法检查 Thing 的 id 是否在存储在 session 变量中的数组中。

class Thing < ActiveRecord::Base
  ...

  def pinned?
    session[:pinned].include? self.id
  end

end

我试图创建的功能是用户为列表选择一堆不同的东西,然后将它们存储在每个用户的会话中,然后在以后检索以进行打印。

Rails 似乎可以防止模型中的会话访问而没有一些骇客,我很想避免这种情况。也许我正在以错误的方式解决问题,或者被固定?函数属于其他地方?

谢谢。

4

1 回答 1

3

也许将它作为参数传递给方法而不是直接访问它?

def pinned?(things)
    things.include? self.id
end

thing.pinned?(session[:pinned])
于 2012-06-06T18:41:29.263 回答