Ruby on rails 通过rails中的记录器显示窗体对象的属性
我想调试我的应用程序,并检查通过logger在控制器类中的form对象上提交了哪些值?怎样才能做到呢?调试rails应用程序有更好的实践吗?您的rails日志(例如Ruby on rails 通过rails中的记录器显示窗体对象的属性,ruby-on-rails,ruby,Ruby On Rails,Ruby,我想调试我的应用程序,并检查通过logger在控制器类中的form对象上提交了哪些值?怎样才能做到呢?调试rails应用程序有更好的实践吗?您的rails日志(例如log/development.log)应该已经在“参数”中显示表单提交的所有内容。它将如下所示: Processing MusicServiceAdmin::UsersController#edit (for 127.0.0.1 at 2014-07-31 10:34:16) [GET] Session ID: 3c0cfbe7
log/development.log
)应该已经在“参数”中显示表单提交的所有内容。它将如下所示:
Processing MusicServiceAdmin::UsersController#edit (for 127.0.0.1 at 2014-07-31 10:34:16) [GET]
Session ID: 3c0cfbe7ff23f8f718f6626748a4a
Parameters: {"id"=>"35363"}
参数 Rails中的每个请求都使用
控制台进行跟踪
-您应该检查从那里发出的参数
:
Started POST "/admin/login" for 127.0.0.1 at 2014-04-26 16:25:34 +0100
Processing by Admin::Users::SessionsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"+I1TKfc1YDuil7EI1frrFIoerNg5uonB1CIiujJO0jo=", "user"=>{"email"=>"*********", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Sign In"}
[1m[36mUser Load (482.0ms)[0m [1mSELECT `users`.* FROM `users` WHERE `users`.`email` = 'rpeck@frontlineutilities.co.uk' ORDER BY `users`.`id` ASC LIMIT 1[0m
[1m[35m (435.0ms)[0m BEGIN
[1m[36mSQL (439.0ms)[0m [1mUPDATE `users` SET `current_sign_in_at` = '2014-04-26 15:25:35', `last_sign_in_at` = '2014-04-04 12:08:45', `sign_in_count` = 51, `updated_at` = '2014-04-26 15:25:36' WHERE `users`.`id` = 2[0m
[1m[35m (448.0ms)[0m COMMIT
[1m[36mOption Load (404.0ms)[0m [1mSELECT `options`.* FROM `options` WHERE `options`.`name` = 'site_robots' LIMIT 1[0m
[1m[35mOption Load (357.0ms)[0m SELECT `options`.* FROM `options` WHERE `options`.`name` = 'site_title' LIMIT 1
[1m[36mOption Load (428.0ms)[0m [1mSELECT `options`.* FROM `options` WHERE `options`.`name` = 'site_description' LIMIT 1[0m
Redirected to http://lvh.me:3000/****
Completed 302 Found in 3165ms (ActiveRecord: 2993.2ms)
如果要“调试”,只需检查控制台中呈现的各种参数/操作。或者,您也可能希望对特定数据使用Rails.logger.info
方法:
#app/controllers/your_controller.rb
Class YourController < ApplicationController
def index
Rails.logger.info("Test")
end
end
#app/controllers/your_controller.rb
类YourController
谢谢您的帮助!!如果我想在controller.rb文件中获取控制台上提交的表单对象的值,您能告诉我语法吗?Rails.logger.debug“params[:foo]=#{params[:foo]}”
?不确定这是否是您所说的“提交表单对象的值”的意思。