Tag: error handling

权限被拒绝从Ruby gem运行方法

我正在使用名为IMGKit的gem,当我在控制台中使用gem的to_img方法时,我收到此错误: IMGKit::CommandFailedError: Command failed: /rubyprograms/search –format jpg http://google.com -: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/open3.rb:67:in `exec’: Permission denied – /rubyprograms/search (Errno::EACCES) from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/open3.rb:67:in `popen3′ from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/open3.rb:53:in `fork’ 我不知道发生了什么事。 这是to_img方法: def to_img(format = nil) append_stylesheets set_format(format) result = nil stderr_output = nil Open3.popen3(*command) do |stdin,stdout,stderr| stdin << (@source.to_s) if @source.html? stdin.close result = stdout.gets(nil) result.force_encoding("ASCII-8BIT") if result.respond_to? :force_encoding stderr_output = stderr.readlines.join […]

rails 4- 401未经授权的error handling

我正在制作一个简单的quora,如问题答案网站登录使用设计。 我试图使用ajax在问题索引本身中呈现表单。 一切似乎工作正常,但没有用户登录时服务器说401未经授权已完成,似乎没有任何事情发生。 控制台响应: Started GET “/questions/new” for 127.0.0.1 at 2017-07-18 18:30:54 +0530 Processing by QuestionsController#new as JS Completed 401 Unauthorized in 1ms (ActiveRecord: 0.0ms) controller: def new @question = Question.new(:user=>current_user) respond_to do |format| format.js {} end end def new @question = Question.new(:user=>current_user) respond_to do |format| format.js {} end end 我知道这是因为before_action :authenticate_user! 在问题控制器中。 网络响应中的Chrome控制台也说“您需要先登录或注册才能继续”。 此外,我尝试了byebug,但后来才知道流程从未达到新的行动。 […]

从活动记录错误视图页面更改validation错误以清除闪存消息

我在如何validation数组字段的成员中找到以下代码? 。 # Validates the values of an Enumerable with other validators. # Generates error messages that include the index and value of # invalid elements. # # Example: # # validates :values, enum: { presence: true, inclusion: { in: %w{ big small } } } # class EnumValidator before_errors prefix = “element #{@count} (#{value}) […]

Rails开发不会在错误500上显示错误类型和控制台

我的开发错误在生产中看起来像。 在这里他们如何看待开发: 生产风格错误 而不是这个错误设计: 开发风格错误 我试图将所有请求视为production.rb中的本地请求,但这并不会使它们看起来像是应该在开发中看起来。 config.consider_all_requests_local = true 谁能帮助我找出如何回到通常的错误开发风格? 谢谢 !

rails中的错误“权限被拒绝 – / tmp / cache / assets / development / sprockets / …”?

当我运行rails应用程序并使用浏览器导航到它们时,我从rails收到错误: Permission denied – /path/to/my_rails_app/tmp/cache/assets/development/sprockets/37b5a12047376b10a57191a10d3af30a rails error 我在./tmp/后面没有这样的文件/文件夹。 问题是什么?

如何让这个动作抛出404?

我有以下行动: def show @video = @commentable = @favoritable = Video.find_by_key(params[:key]) Video.increment_counter(:views_count, @video.id) end 但是现在如果find_by_key找不到记录,它会抛出一个RuntimeError ( Called id for nil )。 那么如果找不到记录,怎么能让这个动作抛出404呢? 我正在运行Rails 3.2.1。

自定义error handling和cancan

我正在尝试实现自定义error handling以及使用CanCan。 当用户到达他们不允许去的区域时,会抛出CanCan :: AccessDenied错误,并将它们发送到根URL。 相反,’rescue_from Exception’捕获CanCan :: AccessDenied并且用户获得500错误。 我究竟做错了什么? #application_controller.rb rescue_from CanCan::AccessDenied do |exception| redirect_to main_app.root_url, :alert => exception.message end rescue_from Exception, :with => :render_error rescue_from Mongoid::Errors::DocumentNotFound, :with => :render_not_found rescue_from ActionController::RoutingError, :with => :render_not_found rescue_from ActionController::UnknownController, :with => :render_not_found rescue_from AbstractController::ActionNotFound, :with => :render_not_found def render_not_found(exception) render :template => “/errors/404.html”, :layout => ‘errors.html’, […]

Sprockets :: FileNotFound找不到类型为’text / css’的文件’bootstrap’

所以当我尝试运行rails服务器时,这是我在浏览器中遇到的错误: [couldn’t find file ‘bootstrap’ with type ‘text/css’] 我在我的gemfile中有这个: gem ‘bootstrap-sass’, ‘~> 3.3.5.1’ 这是我的application.css.scss文件: *= require bootstrap *= require_tree . *= require_self */ @import “bootstrap”; 有谁知道如何让它运行起来?

Ember Handling 401s于2015年重访

我可以在Ember / Ember数据中找到大量旧问题,询问/回答如何处理来自Rails后端的401s。 许多(如果不是全部)在这一点上似乎已经过时了。 我尝试过所有可以找到的东西。 ( Ember-Data handling 401’s ) 但无论我做什么,我都会在控制台中不断收到401错误,而401则永远不会被我的代码捕获。 如果在任何地方/模型/任何地方遇到过401,我想要做的就是添加一个重定向到’/’。 我不需要任何检查身份validation或其他任何东西。 我已经尝试将其添加到Application Route操作以及路由器本身。 error: function (error, transition) { console.log(“err: ” + error.status); if (error && error.status === 401) { return this.transitionToRoute(‘/’); } } 我也试过这个https://stackoverflow.com/a/19063009/1850353的几个版本。 App.ApplicationAdapter = DS.RESTAdapter.extend({ ajaxError: function(jqXHR) { var error = this._super(jqXHR); console.log(“jqXHR: ” + jqXHR.status); if (jqXHR && jqXHR.status === […]

如何处理rails3中的404/500等错误

嘿,我希望你能帮助我。 我试图找到一种方法将用户定向到我公共文件夹中的默认错误页面404.html和500.html。 因此,当存在路由或nomethod错误时,它应该指向那里。 我已经在我的应用程序控制器中尝试了一些东西,但它没有用。 非常感谢!!