在我的Application.html.erb页面上,我有了导航栏和页脚,以便在所有页面上共享它们。我正在这个页面上引用图像
src="assets/img-1.jpg"
它们只出现在我的索引页面" localhost:3000"上。
当我导航到这些页面时:
localhost:3000/pages/contact
localhost:3000/pages/home "index page"
localhost:3000/pages/portfolio
localhost:3000/pages/schedule
没有找到任何图片。以下是我的路线设置:
Rails.application.routes.draw do
root 'pages#home'
get "/pages/:page" => "pages#show"
end
这是我的页面控制器:
class PagesController < ApplicationController
def show
if valid_page?
render template: "pages/#{params[:page]}"
else
render file: "public/404.html", status: :not_found
end
end
private
def valid_page?
File.exist?(Pathname.new(Rails.root + "app/views/pages/# {params[:page]}.html.erb"))
end
end
再次:图像引用为src =&#34; assets / img-1.jpg&#34;在我的application.html.erb上找到了,但只有当我在索引页面&#34; localhost:3000 /&#34;时,我做错了什么?
答案 0 :(得分:0)
答案 1 :(得分:-1)
您错过了/
。
它将是src="/assets/img-1.jpg"
。
适用于制作:
确保它在/public
目录中,或者您使用asset_path
。否则,在预编译资产进行生产后,您将无法看到它。