Tag: angularjs

Heroku Rails CORS问题

我已经构建了一个rails restful服务,我在Heroku和一个Angular客户端上托管,我试图从我的本地机器运行。 最终,此客户端将被添加到phonegap项目中。 但是,现在我正在使用chrome测试应用程序,即我的浏览器会继续返回下面的错误。 XMLHttpRequest cannot load Origin http://localhost is not allowed by Access-Control-Allow-Origin. 这是我得到的错误消息。 在推送到Heroku之前我遇到了这个问题,并通过在我的回复中添加访问标题来解决它。 after_filter :cors_set_access_control_headers # For all responses in this controller, return the CORS access control headers. def cors_set_access_control_headers headers[‘Access-Control-Allow-Origin’] = ‘http://localhost’ #* headers[‘Access-Control-Allow-Methods’] = ‘POST, GET, OPTIONS’ headers[‘Access-Control-Allow-Headers’] = %w{Origin Accept Content-Type X-Requested-With X-CSRF-Token}.join(‘,’) headers[‘Access-Control-Max-Age’] = “1728000” end 这似乎不起作用。 出于某种原因,这不适用于Heroku。 […]

使用带有Rails carrierwave gem的ng-file-upload上传多个文件

我正在尝试将ng-file-upload和carrierwave结合起来上传多个文件,但服务器端的控制器只接收一个文件(所选文件的最后一项)。 客户方( 参考 ) HTML Upload JS var upload = function (files, content) { return Upload.upload({ url: ‘MY_CONTROLLER_URL’, file: files, // files is an array of multiple files fields: { ‘MY_KEY’: ‘MY_CONTENT’ } }).progress(function (evt) { var progressPercentage = parseInt(100.0 * evt.loaded / evt.total); console.log(‘progress: ‘ + progressPercentage + ‘% ‘ + evt.config.file.name); }).success(function (data, […]

Access-Control-Allow-Origin不允许使用Rails 3和Angularjs Origin http:// localhost。

首先,我要说我已尝试过大量已在此处发布的解决方案。 它们似乎都不适合我。 我意识到我的问题源于CORS和我的rails应用程序无法正确处理。 但是,我不太清楚如何纠正这个问题。 我希望这里有人可以解释这个问题。 相关代码片段: Rails application_controler.rb class ApplicationController ”, :content_type => ‘text/plain’ end end def allow_cross_domain_access headers[‘Access-Control-Allow-Origin’] = ‘*’# http://localhost:9000 headers[‘Access-Control-Allow-Headers’] = ‘GET, POST, PUT, DELETE, OPTIONS’ headers[‘Access-Control-Allow-Methods’] = %w{Origin Accept Content-Type X-Requested-With X-CSRF-Token}.join(‘,’) headers[‘Access-Control-Max-Age’] = ‘1728000’ end end Angular App.js ]).config(function($httpProvider){ delete $httpProvider.defaults.headers.common[‘X-Requested-With’]; }); function loginCtrl ($scope,$http) { $scope.master = {}; $scope.isUnchanged […]

如何使用AngularJS,Devise和UI路由器全局实现身份validation?

我对Angular很新,所以这可能是一个新手问题。 我正在尝试实现一个简单的任务管理器(只是一个练习),Rails作为后端,Angular作为前端。 到目前为止,我遵循了一个教程,一切正常。 现在我想全局实现身份validation。 这意味着:当用户未注册并登录时,她应该看到启动页面或登录页面。 我不想在每个Angular控制器中都这样做,因为DRY。 所以我认为UI路由器可能是一个好地方。 我有点怀疑可能$ httpProvider.interceptors可能有用。 这是我得到了多远。 我可以检查用户是否经过身份validation并阻止加载页面。 但仅此而已。 我怎么会离开这里? 我错过了哪些好的教程? Stackoverflow上的这个问题也有类似的方向,但由于他们没有使用Devise,因此无法解决我的问题。 谢谢! // app.js var app = angular.module(“TaskManager”, [‘ui.router’, ‘templates’, ‘Devise’]) .config([ ‘$stateProvider’, ‘$urlRouterProvider’, function($stateProvider, $urlRouterProvider){ $stateProvider .state(‘home’, { url: ‘/home’, templateUrl: ‘home/_home.html’, controller: ‘MainCtrl’, resolve: { projectPromise: [‘projects’, function(projects) { console.log($rootScope); return projects.getAll(); }] } }) .state(‘projects’, { url: ‘/projects/{id}’, […]

Rails API + AngularJS + Websocket-Rails gem

我的服务器正在运行websocket-rails gem来处理websockets。 我在使用带有角度的phonegap项目的websocket-rails时遇到了麻烦,因为我需要在我的Angular前端初始化websocket-rails客户端,而不依赖于rails资产管道。 是否可以将websocket-rails客户端单独加载到角度项目中? 或者我可以使用角度套接字指令来管理带有websocket-rails的套接字?

我们如何以干燥的方式使用带有angularjs的rails路由?

首先,我会为我破碎的英语和破碎的代码表示遗憾……(这里有很多单词来自谷歌翻译……所以,我担心我不能说清楚……所以,我粘贴所有代码…) 在rails中设置路由非常简单。 但是当我们想把它变成angurjs时,它会变得有点冗长……对于这类工作是否有任何“最佳实践”: 给出一些rails路由资源: resources :users resources :photos … resources :topics 怎么做有角度的一面? 这是我的方式(在咖啡脚本中,使用角度1.1.4 ): 以Rails方式使用RESTful服务: # angular/services/restful.js.coffee # RESTful resource following Rails route’s convention # index: GET ‘/resource.json’ # save: POST ‘/resource.json’ # get: GET ‘/resource/:id.json’ # update: PUT ‘/resource/:id.json’ # edit: GET ‘/resource/:id/edit.json’ # new: GET just use get, id: ‘new’ app.factory(‘RESTful’, [‘$resource’, ($resource)-> […]

与客户端haml的angularjs

我刚刚开始在我的Rails应用程序中使用AngularJS,因为我习惯在Rails中使用haml模板,我想在客户端使用AngularJS。 问题是我不知道在haml文件中的哪个位置读取。 我有一个投资者的模型,我正在尝试将’show’模板转换为haml,因为它是最容易开始的。 这是我关于show的AngularJS代码 investors.js.coffee # Setup the module & route angular.module(“investor”, [‘investorService’]) .config([‘$routeProvider’, ($provider) -> $provider .when(‘https://stackoverflow.com/investors/:investor_id’, {templateUrl: ‘https://stackoverflow.com/investors/show.html’, controller: ‘InvestorCtrl’}) ]) .config([“$httpProvider”, (provider) -> provider.defaults.headers.common[‘X-CSRF-Token’] = $(‘meta[name=csrf-token]’).attr(‘content’) ]) angular.module(‘investorService’, [‘ngResource’]) .factory(‘Investor’, ($resource) -> return $resource(‘https://stackoverflow.com/investors/:investor_id.json’, {}, { show: {method: ‘GET’}, }) ) angular.bootstrap document, [‘investor’] 这是我的控制器AngularJS代码 investors_controller.js.coffee # Show Investor window.InvestorCtrl = ($scope, […]

将Angularjs和Rails应用程序分离为独立组件

我想试试Angularjs。 但是,我一直很难决定我应该在哪里找到我的角应用程序。 我在后端使用Rails框架。 我已经看过整个角度应用程序位于assets / javascript文件夹下的教程。 我想知道如果不是生活在assets / javascript文件夹中,我可以将它完全放在我的rails目录之外。 这样,我可以完全分离我的后端和前端。 (这是推荐的吗?)。 我相信资产管道也预编译了很多资产。 如果我要将angularjs资产分开,我是否需要以某种方式预编译资产? 谢谢

Rails 3 + angularjs + minification在生产中不起作用:未知提供者:eProvider

我已经按照我可以找到的所有指令来修复缩小,例如 var MyController = function(renamed$scope, renamedGreeter) { … } MyController.$inject = [‘$scope’, ‘greeter’]; 和 someModule.factory(‘greeter’, [‘$window’, function(renamed$window) { …; }]); 然而棱角分明拒绝继续工作。 它总是抛出错误“Unknown provider:eProvider” 以下是我尝试让它工作的两次尝试……任何人都可以帮忙吗? https://github.com/jemminger/angular-test1 https://github.com/jemminger/angular-test2 他们已经预先编译了资产,并且开发模式被配置为生产,因此您应该只能“使用”来查看(不)工作。

防止某些DOM层次结构中的AngularJS插值

我使用AngularJS并且有一些我不想插入的HTML部分,因为它包含用户输入的数据。 因此,我可能在那里有{{asdf}}数据,我不希望AngularJS进行解析。 这是因为如果用户输入{{{}, {}}这可能会破坏编译过程并阻止任何Angular代码运行。 有没有办法通过指定Angular来编译DOM树的这一部分?