【问题标题】:Accessing params hash from a partial in Rails从 Rails 中的部分访问参数哈希
【发布时间】:2013-05-25 08:38:28
【问题描述】:

在 Rails 的标准视图中,您可以像在控制器中一样访问 params 哈希,但我无法让它在部分视图中工作。

nil:NilClass 的未定义方法“参数”

我可以使用locals 选项将参数传递给部分,但是这个部分被大量使用,我认为必须有更好的方法。

任何试图访问参数的东西都会导致它失败:

<% params %>

我注意到只有在从某些视图访问时才会出现错误。在其他视图上它工作正常。

【问题讨论】:

  • 您能添加导致此错误的行吗?
  • 谢谢@santhosh。我已经更新了问题。
  • undefined method parameters' for nil:NilClass` 意味着您发布的那一行不是错误的。您能否发布引发此错误的确切行?
  • 是否需要部分显示?您只想在开发中的所有视图上显示参数吗?只是好奇,你为什么要在多个部分中这样做?
  • @fontno 我在 json.erb 模板中使用了一个部分,这样我就可以在多个不同的视图中包含一个用户的 JSON。我在 User 模型上有一个名为 avatar_url 的方法,我从这个部分中调用它。有时我可能想为头像的 URL 使用默认大小以外的大小,所以我尝试调用 user.avatar_url(size: params[:avatar_size])。这是我(有时)遇到错误的地方。

标签: ruby-on-rails


【解决方案1】:

如果你使用的是本地人,你可以这样做:

<%= render :partial => "your_partial", :locals => { :parameters => params } %>

检查变量:

<%= parameters.inspect %>

【讨论】:

  • params.inspect 给了我同样的错误。正如我上面所说,这个部分使用了很多,所以我希望我不必为每个人都去改变当地人。我不介意这样做,但我希望有更好的方法。
猜你喜欢
  • 2017-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多