我最近决定选择Rails,这是在新发现的Ruby迷恋之后发生的,我实际上是在摸索表面。
我,正如大多数开发人员(经验丰富或其他人)试图获取铁路,已经发现它依赖COC(convention over configuration)的程度有多大,尽管如此,我发现越来越难找到更具体的答案如此问题我可能会问社区:)
即使在访问谷歌搜索结果的第二页之后。
我正在构建一个严重依赖外部API的Web应用程序,我不太确定如何处理activerecord(因为我认为我不会使用它),但我确实需要使用会话。 在这种情况下,Rails最佳实践是什么?
**我仍然想使用Rails提供的所有内置功能。</ p>
我想也许我应该创建模型来表示从Web服务中提取的数据,并从请求的数据中填充它们。
或者
在创建应用时可能会禁用Rails活动记录,并为会话手动创建单个模型。
假设我不需要activerecord在Rails中处理会话的最佳方法是什么?
在构建Rails应用程序时,我应该多久依赖一次JavaScript?
我非常感谢任何帮助,并且非常欢迎任何Getting-Into-Rails建议。
答案 0 :(得分:1)
您可以选择使用ActiveRecord将会话数据存储在数据库中,但这当然不是必需的。默认情况下,Rails使用Cookie来存储会话数据。这由CookieStore提供。
因此,当用户登录到您的Rails应用程序时,您可以首先使用您的API验证其凭据,并且在成功时,将user_id
(或令牌或您用于识别此用户的任何内容)存储在会话。在后续请求中,您可以使用会话中存储的值来标识用户。
在构建模型以与您的API进行对话方面,ActiveResource是一个不错的选择,尽管您可能会发现它有点挑剔,具体取决于您正在使用的API。 Her是另一种选择。
如果您使用的API是通过JSON进行通信的REST API,那么这些库应该可以正常工作。
所以回答你的问题......
希望这有帮助。
答案 1 :(得分:0)
经过大量阅读并询问Rails开发人员后,我开始为我的问题找到解决方案。
显然存在一个现有的Gem(惊喜!惊喜!),它可以使API消耗rails应用程序,并维护activerecord的结构。
Gem被称为activeresource,它有很好的文档记录,据我所知,它可以完成这项工作,而且相当不错。