我应该如何在 Rails 中组织这种类似 Instapaper 的功能?
如果您不知道的话,Instapaper 是一个书签,可以将您当前的 URL 保存到您的帐户中。本质上,小书签会在页面上加载一个脚本,并在该脚本的 URL 上加载类似这样的参数,
z.setAttribute('src', l.protocol '//www.instapaper.com/j/Jabcdefg?u='
encodeURIComponent(l.href)'&t=' (new Date().getTime()));
b.appendChild(z);
因此,这会将请求与当前页面的 URL 一起发送到基于用户的模糊 URL。
我想知道如何在 Rails 应用程序中设置类似的服务。这项工作显然是由名为解析器的东西完成的,它可能是一个模型(例如,它将运行 HTTP 请求、解析并保存数据)。可以直接路由到模型中吗?您是否需要一个控制器来处理传入的请求? (我已经尝试过最后一点,它会自动加载一个视图,我不需要/想要)。
我希望获得有关此总体架构的一些建议。谢谢!
Instapaper, if you don't know it, is a bookmarklet that saves your current URL to an account of yours. Essentially the bookmarklet loads a script on the page with parameters on that script's URL with something like
z.setAttribute('src', l.protocol '//www.instapaper.com/j/Jabcdefg?u='
encodeURIComponent(l.href)'&t=' (new Date().getTime()));
b.appendChild(z);
So that's sending a request to a user-based, obfuscated URL along with the current page's URL.
I'm wondering how a similar service would be set up in a Rails app. The work is clearly being done by something called, perhaps, parser
, which would probably be a model (it will run an HTTP request, parse, and save the data, for example). Can you route directly into a model? Do you need a controller over it to handle incoming requests? (I've tried this last bit, and it auto-loads a view, which I don't need/want).
I'd love some advice on this general architecture. Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我猜你不能直接路由到模型。
因此,您需要一个控制器来处理传入的请求。
如果您不希望将视图发送到浏览器,请使用“render :nothing => true”。
I guess you cannot route directly to a model.
So, you need a controller over it to handle incoming requests.
And use "render :nothing => true" if you don't want the view to be sent to the browser.