Tag: backbone.js

Backbone.js和Rails – 如何处理Backbone模型中的参数?

在标准的Rails控制器中,我创建一个这样的记录: @user = User.new(params[:user]) 这假设嵌套的表单参数是嵌套的。 我一直在玩Backbone.js,我注意到默认情况下,Backbone没有像普通的Rails格式那样嵌套参数,这实际上是我所期待的。 所以我想知道我应该做些什么…… 我 在服务器端弄清楚,如果它是来自Backbone的请求,通过查看接受标题等,并自己操纵params,这样我可以保持我的控制器代码小: do_some_params_manipulation_with(params) @user = User.new(params[:user]) respond_to do |format| if @user.save format.html {redirect_to users_url} format.json {render :json => @user.to_json } end end 或者,我是否在每个分支中实例化对象,最终重复代码,但从长远来看可能更易于维护…. respond_to do |format| format.html do @user = User.new(params[:user]) if @user.save redirect_to users_url end end format.json do @user = User.new(params) # and rely on mass-assignment protection […]

Backbone希望包含created_at,updated_at等,但我不想这样做

我正在使用Backbone和Rails。 我有一个模型,我可以创建和销毁就好了。 但是,当我编辑时,我收到此错误: Can’t mass-assign protected attributes: created_at, id, updated_at 那讲得通。 这些属性受到保护,应受到保护。 Backbone不应该尝试更新这些属性,但Backbone不知道更好。 当然,一个选择是在我的Rails控制器中删除params[:created_at]等,但是我可以想象得到非常干的非常快,加上它似乎是错误的必须这样做。 有没有办法告诉Backbone不要在表单中包含这些属性?

Marionette.js与Rails(设计)认证

好奇人们通常如何处理这个问题。 我的策略是拥有授权的根路由和未经授权的根路由。 授权用户将直接发送到我的marionette.js单页应用程序,未经过授权的用户将被发送到标准的rails登录页面,并可选择登录或注册。 您似乎可以将这些全部组合到单页应用程序中。 您可以根据附加到元素的类来显示/隐藏ui元素,这些元素基于查看它们所需的授权(注册,管理,管理员等)。 您还可以在路由器中添加某种“before_filter”,以检查用户是否可以根据其角色访问此路由。 在这种情况下,我不确定如何处理登录/注册。 您可以设置自己的api路由,这些路由可以通过POST来传递设计工作吗? 思考? 策略? 这里最好的做法是什么?

Ajax队列Backbone js

我在Rails 3.2.2上运行Backbone js 0.9.2,我有一个页面用于添加成本行。一个成本有3个TextFields:标题,描述和价格。 我节省了模糊的每个成本。 model.save()以非常短的间隔多次调用。 哪个问题create(post)请求然后在那之后不久create(post)一个update(put)请求。 我遇到的问题是PUT请求有时会在POST之前到达服务器,结果是模型被创建并持久两次(重复)。 为了节省模糊是请求的行为,所以我需要一种方法来排队请求。 我已经读过关于Spine js的东西,并且他们通过某种队列来解决它。 我也看过这个 ,但似乎无法弄清楚这一点。 感觉这应该是一个常见的问题,使用“单页应用程序”但无法找到任何相关信息。

骨干模型保存

我正在使用rails并学习Backbone。 请帮帮我。 有没有办法在保存时设置正确的模型? 例如,当我创建具有一些参数的新用户并尝试将其保存到数据库中时, – 在服务器端,我没有用户作为对象,而是用户字段在参数中。 只有保存用户的方法是手动设置属性: user = User.new(:login => params[:login], :password => params[:password]).save! 有没有什么方法可以生成真实的用户模型对象(比如form_for生成)? 我认为下面描述的操作我将需要在我更新用户时使用等等。 谢谢!

undefined | 0 | ReferenceError:严格模式禁止隐式创建全局属性’csrf_token’

所以,这是我遇到的一个非常有趣的问题。 我目前正在构建一个backbone.js – Rails应用程序。 通常只是为了学习目的而构建它。 我(就像任何好的rails dev)在TDD / BDD上做得最好,我遇到了水豚问题。 我有一个集成规范,只测试root_path工作(Backbone历史开始,显示初始信息等…)。 require ‘spec_helper’ describe “RentalProperties”, js: true do describe “GET /” do it “should show a list of properties” do visit root_path eventually{page.should have_content(“Something”)} end end end 我正在使用jasmine,sinon和capybara / rspec / webkit运行测试。 我正在松散地遵循thinkbot上的“Rspec on Rails”一书(顺便说一句很棒的书),以及本教程: http ://tinnedfruit.com/2011/03/03/testing-backbone-apps-with-jasmine- sinon.html 。 运行上面的规范时,我遇到了这个错误: undefined|0|ReferenceError: Strict mode forbids implicit creation […]

使用Rails,backbone.js和accepts_nested_attributes_for保存嵌套对象

我正在使用Rails,backbone.js(现在就学习这个)。 假设您有两种型号,Car和Engine。 var Car = Backbone.Model.extend({ initialize: function() { if(this.get(‘engine’) != undefined) this.engine = new Engine(this.get(‘engine’)); } } var redCar = new Car({ ‘color’: ‘red’, // The controller nests the model ‘engine’: { ‘horsepower’: ‘350’ } }); redCar.save() 将engine_attributes发送到控制器的正确方法是什么? (Car accepts_nested_attributes_for :engine ,所以它期望engine_attributes 。)我是否覆盖Backbone sync() ? 嵌套模型是否有更好的约定? 也许我不应该从控制器返回嵌套模型,或返回engine_attributes而不是engine ? 另外,我正在使用Rails respond_with(@car, :include => :engine) (与@car.to_json(:include […]

如何使用Rails,Devise和Backbone.js进行令牌认证?

我正在尝试使用PhoneGap,jQuery Mobile和Backbone.js在客户端构建移动应用程序 – 使用运行服务器端的Rails 3 JSON API。 我知道如何在经过身份validation后从服务器获取令牌,但我不知道如何将“token_auth”键/值附加到Backbone.js将对我的服务器进行的所有AJAX请求。 这是我目前的流程: 用户在某些表单字段中键入并点击“登录” Backbone使用电子邮件和密码信息创建一个新的Player对象。 我运行一个Player.authenticate,将令牌设置为AUTHENTICATION_TOKEN 此后的所有请求都应附加“auth_token =”+ AUTHENTICATION_TOKEN 我看过http://documentcloud.github.com/backbone/#Sync可能会覆盖AJAX调用 – 但这对于这个简单的任务来说似乎非常极端。 有没有人有运行Devise token_authentication和Backbone.js的经验?

带有backbone-rails的Rails:EJS文件中的资产助手(image_path)

我有一个使用codebrew / backbone-rails的Rails 3.1应用程序。 在.jst.ejs模板中,我想包含一个图像,如下所示: “/> 但当然资产助手并不适用于JavaScript。 链接ERB(.jst.ejs.erb)不起作用,因为EJS语法与ERB冲突。 这就是我所知道的: 资产助手在浏览器中不可用,因此我需要在服务器端运行它们。 我可以解决这个问题,让服务器将各种资产路径转储到HTML中(通过数据属性或和JSON)并在JS中读回它们,但这看起来很笨拙。 有没有办法以某种方式在EJS文件中使用资产助手?

结合Ruby on Rails和Backbone

我很想知道这一段时间,但还没有找到答案。 为什么要在Rails应用程序中使用Backbone.js exaclty? 是扩展function,为你的JS提供更多的MVC模式,构建更好的API ……? 目前我看不出你为什么要使用它的原因,因为我不认为我理解Backbone.js的概念