gpt4 book ai didi

ruby-on-rails - 主干和 rails 。为什么要在 Backbone 中设置路由?

转载 作者:行者123 更新时间:2023-12-01 11:42:43 24 4
gpt4 key购买 nike

我想创建一个带有主干的 Rails 应用程序。唯一的问题是,我似乎无法弄清楚后端和前端的内容。我使用的方法是将 Rails 本质上用作 API。

我正在研究各种不同的方法,我似乎不太明白为什么你在主干中路由以及使用普通的 rails 路由。

我的理论是:
您使用 rails 显示初始 html 页面,并使用主干路由将 javascript 文件路由到该 html 页面,以便您可以在那里执行 DOM 操作。

这是我的代码的一部分,我从那里得到了这个想法。 (注意:这主要来自于backbone.js 上的Ryan Bates railcast)

Backbone 路由器

class Poster.Routers.Posts extends Backbone.Router
routes:
'':'index'
'posts/:id': 'show'

initialize: ->
@collection = new Poster.Collections.Posts()
@collection.fetch({reset: true})


index: ->
view = new Poster.Views.PostsIndex(collection: @collection)
$('#index_container').html(view.render().el)

View /主/index.html.erb
<div id="index_container"></div>

那么这个主干路由是否等同于在 index: 中加载 javascript? views/main/index.html.erb顶部的方法? (我知道实际上将这些 javascript 行复制到 index.html.erb 文件中是行不通的,这只是一个概念性问题)

最佳答案

Backbone 被设计用于单页应用程序,因此它与 Rails 路由有一点关系。 Rails 所要做的就是登陆一个 .html 页面,其他一切都是客户关心的。
如果您打算将 Rails 用作 API,那么它的路由根本无关紧要。您甚至可以将 Rails 应用程序和前端保存在不同的服务器上。在这种情况下,Rails 要做的就是处理来自客户端的请求。

例如,您可以构建与后端没有任何硬联系的客户端,它们可以完全分离。您只需从客户端进行 AJAX 调用,然后服务器处理它们并使用 JSON 进行响应。

此外,Backbone 不会“将 javascript 文件路由到该 html 页面”。它只是根据散列“route: action”执行函数。这些只是普通的 JavaScript 函数,它们已经可以“看到”在文档中运行的 JavaScript。

关于ruby-on-rails - 主干和 rails 。为什么要在 Backbone 中设置路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18003153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com