Rails:如何打印请求参数?

我有一个Rails 3应用程序,我想打印查看请求参数。 我该怎么做?

编辑:

目的是查看表单中正在发送的内容。

我会使用debug(params) 。 这会给你一个很好的格式化视图。

如果你想打印所有的参数,最简单的方法是使用检查

 puts params.inspect 

或者更好,使用Railslogging器

 Rails.logger.debug params.inspect 

在你的HTML / ERB中,你可以使用

 <%= params.inspect %> 

参数存储在params散列中。 例如,如果存在title参数,则可以使用<%= params[:title] %>将其显示在您的视图中。

从ruby英雄詹姆斯·爱德华·格雷二世(Ruby Hero James Edward Grey II)那里学到了这个我极力推荐的Ruby Rogues播客 。 raise是瑞士军刀,用于检查Rails代码中的任何内容,这些代码可以很好地在浏览器上进行打印。

提出params.inspect

在ruby和rails应用程序中, pretty_print也是有用的

 pp params 

pretty_print doc: http ://ruby-doc.org/stdlib-2.1.0/libdoc/pp/rdoc/PP.html

资料来源: http : //guides.rubyonrails.org/getting_started.html#creating-articles

提交表单时,表单的字段将作为参数发送到Rails。 这些参数可以在控制器动作中被引用,通常执行特定的任务。 要查看这些参数是什么样子,请将创build操作更改为:

 def create render plain: params[:article].inspect end 

将表单POST到目标#create路由时的响应将是params[:article]的纯文本散列输出,

您可以使用模型,控制器等

 puts YAML::dump(params) 

来源: Ruby / Rails替代PHP print_r()和var_dump()

观看次数:

 DebugHelper's debug(object) 

在你的情况下:

 DebugHelper's debug(params) 

就像是

 <%= params.inspect %> 

作品,但是我想补充的是下面的gem和Chrome插件 ,这实际上让人大开眼界。

我把它放在这里,因为我认为它会帮助人们检查参数散列,查看SQL查询或查看错误。