1

ユーザーのインデックスを表示しようとすると、エラーが発生し続けます。これは、Hartl の Ruby on Rails チュートリアル (優れたチュートリアル) の第 9 章にあります。

引数の数が間違っています (1 に対して 2)

<li>
  <%= gravatar_for user, size: 52 %>
  <%= link_to user.name, user %>
  <% if current_user.admin? && !current_user?(user) %>
    | <%= link_to "delete", user, method: :delete,
                                  data: { confirm: "You sure?" } %>
  <% end %>
</li>

2行目で2つの引数を呼び出していると考える理由がわかりません。

4

2 に答える 2

6

第 7 章 (セクション 7.6) の演習を忘れているに違いありません :)。そのセクションを見ると、次のように更新されたヘルパーが表示さapp/helpers/users_helper.rbれます。

module UsersHelper

  # 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, alt: user.name, class: "gravatar")
  end
end

ヘルパーを更新すると、このメソッドを 2 つのパラメーターで使用できるようになります。2 番目のパラメーターはオプションです。呼び出すとgravatar_for user(つまり、size パラメーターなしで)、デフォルトのサイズ50が使用され、呼び出すとgravatar_for user, size:52gravatar52のサイズに使用されます。

于 2013-09-01T20:33:15.823 に答える
0

Chap 到達おめでとうございます。9!Chapで涙が出るほど退屈です。6

2行目は次のとおりです。

<%= gravatar_for user, size: 52 %>

...これは次と同等です:

<%= gravator_for(user, {size: 52}) %>

それは2つの引数です。

于 2013-09-01T19:55:45.883 に答える