加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 22:18:04 所属栏目:百科 来源:网络整理
导读:我正在跟随Michael Hartl的 here教程,并试图创建一个用户的索引. 我的代码: class UsersController ApplicationController before_filter :signed_in_user,only: [:index,:edit,:update] . . . def index @users = User.all end . . . end 和 %= provide(:t
我正在跟随Michael Hartl的 here教程,并试图创建一个用户的索引.

我的代码:

class UsersController < ApplicationController
  before_filter :signed_in_user,only: [:index,:edit,:update]
  .
  .
  .
  def index
    @users = User.all
  end
  .
  .
  .
  end

<%= provide(:title,'All users') %>
<h1>All users</h1>

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

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

wrong number of arguments (2 for 1)

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

解决方法

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读