【问题标题】:Rails: path-string changed automatically in the viewRails:路径字符串在视图中自动更改
【发布时间】:2019-02-10 13:39:44
【问题描述】:

所以我在我的应用程序中发现了这个看起来很奇怪的错误。我将用户头像称为背景图像,如下所示:

<span class="user-image" style="background-image:url(<%= avatar_tiny(current_user) %>);"></span>

avatar_tiny 是一个帮助器,它应该返回用户头像的路径或默认图像的路径:

def avatar_tiny(user)
    if user.contact.avatar?
      user.contact.avatar.url(:tiny)
    else
     'assets/avatar_default_tiny.png'
    end
  end

它在主页上正常工作。但是当我转到任何子页面时,Rails 会以某种方式自动更改此路径,并将其名称添加到此字符串中。例如。 "/profile/assets/avatar_default_tiny.png

我在 Rails 控制台中收到此错误:

Started GET "/profile/assets/avatar_default_tiny.png" for 127.0.0.1 at 2019-02-10 05:32:51 +0100

ActionController::RoutingError (No route matches [GET] "/profile/assets/avatar_default_tiny.png"):

为什么会发生这种情况,我该如何解决?

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    您应该使用asset_path 助手来获取默认图像的相对位置。将助手的 else 语句更改为 asset_path('avatar_default_tiny.png')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-05
      • 2014-09-15
      • 2014-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-10
      • 1970-01-01
      相关资源
      最近更新 更多