如何获取rails

时间:2017-09-03 06:03:41

标签: ruby-on-rails debugging erb

我得到的只是一个巨大的堆栈跟踪,其中大部分都有中间件和控制器相关的堆栈跟踪,但是有一种方法可以在rails中知道在渲染视图,布局或部分错误发生的确切行?

例如,

F, [2017-09-03T11:27:10.616818 #4598] FATAL -- :
ActionView::Template::Error - wrong number of arguments (given 2, expected 1):
  actionview (5.1.1) lib/action_view/template/error.rb:67:in `initialize'
  actionview (5.1.1) lib/action_view/template.rb:321:in `handle_render_error'
  actionview (5.1.1) lib/action_view/template.rb:160:in `rescue in render'
  actionview (5.1.1) lib/action_view/template.rb:155:in `render'
  actionview (5.1.1) lib/action_view/renderer/template_renderer.rb:64:in `render_with_layout'
  actionview (5.1.1) lib/action_view/renderer/template_renderer.rb:50:in `render_template'
  actionview (5.1.1) lib/action_view/renderer/template_renderer.rb:14:in `render'
  actionview (5.1.1) lib/action_view/renderer/renderer.rb:42:in `render_template'

想知道模板的哪一行。我目前正在使用以下宝石

group :development do
    gem 'meta_request'
end

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
  gem 'rspec-rails', '~> 3.6'
  # Adds support for Capybara system testing and selenium driver
  # gem 'capybara', '~> 2.13.0'
  gem 'selenium-webdriver'
  gem 'pry-byebug'
  gem 'rails_layout'
  gem 'better_errors'
  gem 'binding_of_caller'
  gem 'cucumber-rails', '~> 1.5', :require => false
  gem 'page-object', '~> 2.1.1'
  gem 'watir', '~> 6.3'
  gem 'database_cleaner', '~> 1.6.1'
  # Fixtures are messy!
  gem 'factory_girl_rails', '~> 4.8'
  gem 'ffaker', '~> 2.6'
  gem 'json-schema', '~> 2.8'
  gem 'timecop', '~> 0.9.1'
end

所以我确实知道它打破了什么模板,但是在任何进一步的细节中,这些神秘的错误信息都没有任何帮助。

1 个答案:

答案 0 :(得分:0)

从您在评论中发布的错误日志中,您的代码中唯一有问题的行似乎在app/controllers/devise/sessions_controller.rb:12:in new中(来自您发布的错误代码中的34个)