问题标签 [backbone-rails]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Backbone.js:什么是 paramRoot:backbone.model 中的属性?
我使用 rails-backbone gem 并生成了一个 Backbone 模型。该模型包括paramRoot:
属性。我假设它以某种方式告诉 Backbone 如何连接到相应的 Rails 模型,但我找不到任何关于它的文档。
实际上是做什么的paramRoot
?
backbone.js - Backbone.Marionette CollectionView 模板“未定义”
我一直在研究 Brian Mann 的 BackboneRails 截屏视频,所以我的应用程序结构与那些完全一致。
下面定义了 HomepageApp Marionette Appication 的“显示”部分。
我还使用以下内容覆盖了 Marionette.Renderer.render 函数:
我的所有观点,包括许多未在此处显示的观点都运行良好。问题是 Show.Photos CollectionView 的“模板”属性在我的渲染器覆盖中显示为“未定义”,这给了我以下错误:
奇怪的是,当我根本没有为模板属性传递任何值时,甚至会发生这种情况。
我也知道我在实例化时传递了一个有效的 Backbone 集合。
我完全被困住了。有谁熟悉这种现象?
runtime-error - 无法创建木偶应用程序的新实例
嗨,我已经为我的 Web 应用程序安装了最新版本的“marionette-rails”和“rails-backbone”,但是在创建新的 marrionette 实例时遇到了问题。
这就是我在 Web 控制台中所做的
之后我看到这个错误
这与木偶或骨干的版本控制有关吗?
我该如何解决这个问题,以便创建木偶的实例?
javascript - 主干导轨:重定向到控制器操作
我第一次使用 rails-backbone gem。我不得不怀疑如何使用骨干进行重定向。按照我在github页面上提供的步骤进行操作,一切正常。但是当我看到我的控制器时,它在创建操作中包含以下行
效果很好,但我可以看到,对于json 对象,它呈现显示操作,因此无法重新加载页面,因为它将ID 作为属性,我可以使用静态页面进行显示是一种解决方案,但我需要它重定向它以显示操作而不是在格式为 html时将其呈现为已完成。那怎么办?
这是我的完整控制器:
backbone.js - 主干导轨:编辑和销毁页面加载时脚手架无法正常工作
我已经更新了我的问题,请查看更新的部分:
我正在使用rails-backbone gem
inrails 4
并且我遵循了 github 的 gem 页面上提供的一个简单示例。Backbone.js 现在工作正常,但是当我按下浏览器后退按钮返回查看我的所有帖子列表时,什么也没有显示。当我按下脚手架生成的返回链接时,它工作正常。我将编写以下步骤:
在我app/views/users/index.html.erb
的内容如下:
Backbone.js 现在工作正常,但是当我按下browser back button
返回查看我的所有列表posts
时nothing is displayed
。当我按下back
由scaffold
.
我的 users_router.js.coffee 如下:
更新:
使用下面的代码,我让它为骨干网和 turbolinks 的页面更改事件的后退按钮工作。现在按下后退按钮时,我的主干文本不会消失。但是页面加载事件也存在问题让我用一个例子来解释一下我的代码下面的意思:
我执行以下操作:
localhost:3000
(欢迎加入,您正在使用 ruby on rails 页面出现)localhost:3000/posts
(主干触发其index.jst.ejs
模板)单击
new post
然后将更改路由到localhost:3000/posts#/new
(new.jst.ejs
)单击
create post
按钮,然后将更改路由到localhost:3000/posts#/id
(`show.jst.ejs')现在点击
browsers back button
路线更改为localhost:3000/posts#/new
(new.jst.ejs
)再次单击后退按钮将我带到
localhost:3000/posts
(index.jst.ejs
)在这里我可以看到新条目已成功输入。
再次单击后退按钮将我带到
localhost:3000
通过重新加载。点击
forward button
返回localhost:3000/posts
(index.jst.ejs
) 我仍然可以看到我的条目。现在,如果我销毁我的条目并返回
localhost:3000
并返回,我们将看到条目没有被销毁。
backbone.js - Marionette Modules - 路线组织
我们目前正在木偶的一个大项目上工作。我们的架构基于http://www.backbonerails.com/。该项目分为多个模块,每个模块都有自己的职责。模块的可重用性很重要,因此它们可以在网站的任何区域呈现。现在模块是这样启动的:
到目前为止效果很好,但现在我们将路由器添加到项目中。每个模块都应该对其路由负责,因此它们在模块中。现在,当路由器获得路由并开始路由时,它们缺少要使用的区域和模型。所以我们首先要将区域和模型保存到模块中,以便稍后在路由器中使用。
这并不是一个真正的好方法,因为通常每个小部件上都有很多操作(显示、编辑、创建……),我们必须重复很多。
所以我在问 - 你如何初始化你的模块并使用路由器?有一些最佳实践吗?
ruby-on-rails-3 - 更改文本后,backbone-on-rails 条目值没有改变,它也存在
Raffler.Views.EntriesIndex 类扩展 Backbone.View
template:> JST['entries/index']
render: -> $(@el).html(@template( entries: "Entries will list out here" )) this
在 localhost:3000/ 它显示的“”条目将在此处列出“
之后我将行更改为 $(@el).html(@template(entries: "Backbone-on rails"))
服务器重新启动,但“文本没有改变,catch 也被清除。文本没有变化,尝试了 grep -nri “Entries will list out here”,但在代码库中找不到文本。
该目录内部的文件包含该字符串。tmp/cache/assets/development/sprockets/ 这个目录包含字符串“Entries will list out here”
public/assets/application-3eb1f460e083bdc7c3a0194a85735b4e.js 它也包含那个字符串
ruby-on-rails - 无法使用设计 gem 从用户编辑页面重定向
我在我的 rails 项目和 /users/edit 页面中使用 devise gem 4.1.1 版,我想在用户更改密码后重定向到同一页面,而不是重定向到 root_path。我用谷歌搜索,发现这个链接设计 github wiki
我确实进行了相应的更改,我的注册控制器如下
在 routes.rb 我添加了注册控制器
但仍然由于某种原因,我无法重定向到同一页面,它仍然重定向到 root_path。我错过了什么吗?
编辑 1:我也在使用主干导轨 gem 在我的 rails 应用程序中使用主干.js。主干.js的路由器类如下
其次是呈现视图的相应函数和我的用户routes.rb如下
每当我更新用户的个人资料时,我可以看到浏览器地址为“/users/edit”,但索引页面正在显示,这是由于主干.js 路由器文件。在我在那里插入一个 console.log 语句后,我可以看到控件将转到路由器文件。那么无论如何我可以绕过主干路由器并在用户更新他的个人资料后显示“/用户/编辑”页面吗?