0

当我执行常规 GET 并且我的参数中没有任何内容时,参数哈希的状态是什么?空白的 ?无?还有什么?

因为我有一个控制器,我希望只有当参数“有东西”时才执行指令。我试过了!params.nil?, !params.blank?

这些都不起作用,因此我继续输入 if 块,并得到一个 nil 错误......

帮助 !

4

3 回答 3

0

听起来您想使用 !params.empty?

于 2012-07-13T21:18:30.587 回答
0

当你的 get 中没有传递任何参数时,唯一可以确定的是你的参数哈希中有一个controller和一个action键。现在,如果您不向我显示您正在获取的 URL,我无法告诉您 params 哈希中还有什么,但其中肯定有一个action和一个controller键。您可以随时调用 aputs(params.inspect)来查看到底发生了什么,或者使用pry gem进行调试。

于 2012-07-13T21:19:05.603 回答
0

为什么不测试您正在寻找的东西,如果它不存在,哈希值将为零。

if params[:something].nil?
  ..
else
  ..
于 2012-07-14T13:22:57.900 回答