我应该如何在 Rails 中组织这种类似 Instapaper 的功能?

发布于 2024-11-10 17:26:59 字数 515 浏览 3 评论 0原文

如果您不知道的话,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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谎言月老 2024-11-17 17:26:59

我猜你不能直接路由到模型。
因此,您需要一个控制器来处理传入的请求。
如果您不希望将视图发送到浏览器,请使用“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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文