【问题标题】:ArgumentError in UsersController#index用户控制器中的参数错误#index
【发布时间】:2015-11-27 19:26:34
【问题描述】:

我想打印索引页面中的所有用户,我将users 传递给索引页面。

users_controller.rb

def index
  @users = User.all
end

index.html.erb

<ul class="users">
  <% @users.each do |user| %>
    <li>
      <%= gravatar_for user, size: 50 %>
      <%= link_to user.name, user %>
    </li>
  <% end %>
</ul>

其他错误,

app/helpers/users_helper.rb:4:in `gravatar_for'
app/views/users/index.html.erb:7:in `block in _app_views_users_index_html_erb__319283733763486353_69882358987600'
app/views/users/index.html.erb:5:in `_app_views_users_index_html_erb__319283733763486353_69882358987600'

【问题讨论】:

  • 请添加users_helper.rb的代码,因为gravatar_for是在这个文件中实现的。

标签: ruby-on-rails ruby ruby-on-rails-4


【解决方案1】:

基于http://www.rubydoc.info/gems/gravatar_for/0.1.2,试试这个代码:

gravatar_for user.email

假设用户的邮箱可以通过这种方式访问​​。

【讨论】:

  • 是同一个宝石吗?您的用户的电子邮件是否可以通过user.email 访问?
  • 问题是我将两个参数传递给gravatar_for 方法,但它被定义为只接受一个参数,所以我尝试通过删除size : 50 来运行该文件并且它起作用了。
  • 您应该能够传递额外的参数,例如size。请参阅本指南:rubydoc.info/gems/gravatar_for/0.1.2/GravatarFor/ViewHelpers,请确保您直接传递电子邮件
猜你喜欢
  • 2015-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多