gpt4 book ai didi

ruby-on-rails - 未定义的辅助方法

转载 作者:行者123 更新时间:2023-12-04 06:05:54 26 4
gpt4 key购买 nike

我有一个问题:

undefined method `avatar_url' for #<User:0x000000040783a8>

Controller :

class ApplicationController < ActionController::Base
protect_from_forgery
helper :all
helper_method :avatar_url

protected

def avatar_url(user)
if user.avatar_url.present?
user.avatar_url
else
default_url = "#{root_url}images/guest.png"
gravatar_id = Digest::MD5.hexdigest(user.email.downcase)
"http://gravatar.com/avatar/#{gravatar_id}.png?s=48&d=#{CGI.escape(default_url)}"
end
end
end

在 View 中:

...
<%for user in @users %>
<%= image_tag avatar_url(user) %>, username: <%= user.username %>, e-mail: <%= user.email %>
<% end %>
...

有人帮帮我吗?

最佳答案

关键是错误信息:

undefined method `avatar_url' for #<User:0x000000040783a8>

错误不是因为辅助方法未定义:错误消息表明它是 User 类中缺少的方法。 ApplicationController 中定义的方法尝试:

def avatar_url(user)
if user.avatar_url.present?
user.avatar_url
#...

您需要确保 User 类有一个 avatar_url 实例方法。

关于ruby-on-rails - 未定义的辅助方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7452075/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com