ruby-on-rails – 参数数量错误?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 参数数量错误?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_0@
我正在跟随Michael Hartl的 here教程,并试图创建一个用户的索引.

我的代码

  1. class UsersController < ApplicationController
  2. before_filter :signed_in_user,only: [:index,:edit,:update]
  3. .
  4. .
  5. .
  6. def index
  7. @users = User.all
  8. end
  9. .
  10. .
  11. .
  12. end

  1. <%= provide(:title,'All users') %>
  2. <h1>All users</h1>
  3.  
  4. <ul class="users">
  5. <% @users.each do |user| %>
  6. <li>
  7. <%= gravatar_for user,size: 52 %>
  8. <%= link_to user.name,user %>
  9. </li>
  10. <% end %>
  11. </ul>

我已经确保我的代码完全符合教程中的代码,但我收到这个错误

  1. wrong number of arguments (2 for 1)

我究竟做错了什么?有什么想法吗?

解决方法

根据教程,gravatar_for方法被定义为
  1. def gravatar_for(user)
  2. gravatar_id = Digest::MD5::hexdigest(user.email.downcase)
  3. gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}"
  4. image_tag(gravatar_url,alt: user.name,class: "gravatar")
  5. end

请注意,它只接受一个参数:用户. Later in chapter 7,练习后,本教程介绍如何添加一个size参数:

  1. # Returns the Gravatar (http://gravatar.com/) for the given user.
  2. def gravatar_for(user,options = { size: 50 })
  3. gravatar_id = Digest::MD5::hexdigest(user.email.downcase)
  4. size = options[:size]
  5. gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}?s=#{size}"
  6. image_tag(gravatar_url,class: "gravatar")
  7. end

根据您的错误消息,您尚未更新使用可选大小参数的方法.

猜你在找的Ruby相关文章