2017-07-29 109 views
1

当我添加了一个路径段我的Ruby on Rails应用程序/pricing的路径,资产开始后,添加这样导致404:为什么路径段之后添加资产路径? Rails的

GET http://localhost:3000/pricing/assets/bootstrap.min.css 

这是路线:

get 'pricing/:level', :to => 'welcome2#pricing', as: "package_signup" 

这是控制器:

class Welcome2Controller < ApplicationController 
    def pricing 
    @package_signup = params[:level] 
    end 
end 

这是链接到定价/青铜索引页面上的链接:

<%= link_to 'package_signup bronze', package_signup_path('bronze') %><button class="btn btn-success">Get Started</button> 

我该如何让资产的路径保持一致?像这样:

GET http://localhost:3000/assets/bootstrap.min.css 

这是包括自举:

<link href='assets/bootstrap.min.css' rel="stylesheet"> 
+1

显示你的代码,其中'包括bootstrap.min.css'。 –

+1

'定价'不是一个子域,它只是一个路径段。一个子域看起来像是'pricing.localhost' ... – spickermann

回答

1

assets之前添加/(正斜杠)。它确保资源将从根URL而不是来自当前URL。

像这样:

<link href='/assets/bootstrap.min.css' rel="stylesheet"> 
+1

这是很多应用程序的正确答案。但是,如果您需要将应用程序部署在子目录中(例如,应用程序的根目录位于“https:// somedomain.com/somepath /”而不是“https:// somedomain.com”),那么您我需要调整它。在这种情况下,最好设置['relative_url_root'](http://guides.rubyonrails.org/configuring.html#deploy-to-a-subdirectory-relative-url-root)并使用['stylesheet_link_tag' ](http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html#method-i-stylesheet_link_tag)。 – Max