为外部应用程序创建Rails数据库条目

问题描述:

我正在创建将具有UserFile模型的Rails应用程序。用户“有很多”文件。问题在于,文件绝不会由用户通过Web应用程序明确创建。我正在构建桌面应用程序来监视文件系统(请考虑Dropbox)并创建/更新File记录。为外部应用程序创建Rails数据库条目

正确的方法是让桌面应用程序向我的Rails应用程序发出相应的POST请求,并且不提供用于在Web应用程序中创建File记录的视图。

此外,它是否足够安全,需要在由桌面应用程序发出的POST请求中发送用户特定的安全令牌来验证用户的文件记录?

这听起来像你在正确的轨道上。您的Rails应用程序基本上公开了一个API,它接收一个上传的文件并代表用户创建相关模型来跟踪文件元数据。也许你仍然可以在你的web应用中公开一个视图来编辑文件元数据并删除文件。

安全性是它自己的一个主题。至少,您可能希望所有通信都通过SSL进行,并在设置的超时时间内使标记失效。 Devise可以通过他们的TokenAuthenticatable实现为你做到这一点。您可能还需要限制文件上传大小和限制请求。