【问题标题】:Rails params nil when they appear to be thereRails params nil 当它们出现时
【发布时间】:2016-08-17 16:26:10
【问题描述】:

在 Rails 中,我正在尝试学习如何使用通过 link_to 传递的参数。

在一个视图中我有

<%= link_to 'link', static_pages_params_path(info: 23) %>

然后在我的 StaticPagesController 我有

def params
  debugger
end

当我点击上述链接后进入 byebug 时,我看到了

Started GET "/static_pages/params?info=23" for ::1 at 2016-08-17 11:05:43 -0500
Processing by StaticPagesController#params as HTML
  Parameters: {"info"=>"23"}
Return value is: nil

由此看来,我应该能够访问参数。但是,当我在 byebug 中输入参数时,我得到 nil:

(byebug) params
nil

此时我正在调试,因为我无法从 params 方法访问 params[:info]。

我在这里做错了什么?

【问题讨论】:

  • 我认为您会在这里遇到名称空间冲突和无限循环,因为它无法区分方法和参数变量。您绝对应该重命名您的操作并重试。
  • 这正是问题所在。谢谢。

标签: ruby-on-rails params link-to


【解决方案1】:

您正在与覆盖 params 变量的控制器方法发生名称空间冲突。考虑更改您的操作名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    相关资源
    最近更新 更多