Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我可以使用Struct.new作为Rails模型吗?或者:如何创建匿名结构化非db支持的会话?_Ruby On Rails_Session_Model - Fatal编程技术网

Ruby on rails 我可以使用Struct.new作为Rails模型吗?或者:如何创建匿名结构化非db支持的会话?

Ruby on rails 我可以使用Struct.new作为Rails模型吗?或者:如何创建匿名结构化非db支持的会话?,ruby-on-rails,session,model,Ruby On Rails,Session,Model,给出以下示例: class AnonymousSession << Struct.new(:location, :preferences) def valid? ... end def new_record? ... end end 错误消息是关于“未知密钥”。有什么线索可以让它工作吗?我只需要没有数据库后端的匿名会话。由于寿命短,它们完全是一次性的 也许我的方法是错误的,而且已经有了一个使用匿名会话的优雅解决方案?我看过AuthLogic,但我发现

给出以下示例:

class AnonymousSession << Struct.new(:location, :preferences)
  def valid?
    ...
  end
  def new_record?
    ...
  end
end
错误消息是关于“未知密钥”。有什么线索可以让它工作吗?我只需要没有数据库后端的匿名会话。由于寿命短,它们完全是一次性的


也许我的方法是错误的,而且已经有了一个使用匿名会话的优雅解决方案?我看过AuthLogic,但我发现的任何示例都会附带ActiveRecord模型(并因此绑定到数据库)。

我使用了解决方案,其中我的模型源自Tableless。我认为这在你的情况下也会起作用。

你必须更多地解释你试图实现的目标。为什么不能在/app/models中创建一个匿名会话类

class AnonymousSession

  attr_accessor :location, :preferences

  def new_record?
   # ...
  end

  def valid?
   # ...
  end

end

Ryan Bates有几集Railscast可能会帮到你:而且。

这听起来是个不错的选择。“无表”解决方案非常适合我,因为它还提供免费验证。一个简单的类将需要太多的工作,所以这个解决方案不再是一个选项。不过还是要谢谢你。这听起来很有趣,但我仍然认为无桌建议更适合我的问题。用户会话由街道和房屋编号组成,通过将其与街道表、街道截面表和地理工具包查找进行比较来验证。这将用户连接到一个districts表,该表保存有关下一个废物收集日期等的数据。
class AnonymousSession

  attr_accessor :location, :preferences

  def new_record?
   # ...
  end

  def valid?
   # ...
  end

end