最近团队想把多个 h5 项目部署在同一域名下,这里尝试了两个方法: 1.方法一 config/application.rb添加
config.assets.prefix = '/my_app'
然后在 routes.rb 中添加
scope path: 'my_app'
这样修改完之后,通过测试基本是没问题的,但这样除了 assets 和 routes,其它的都是没有挂载到/my_app 路径下。
2.方法二
(1) 修改 config.ru run Rails.application 修改为
map '/my_app' do
run Rails.application
end
这样修改完之后,整个项目都挂载到/my_app 路径下,但是此时面临一个问题 如果 layout 中<%= stylesheet_link_tag 'application', :media => 'all' %>引入 css,
#=> <link href="/assets/application-aeb7f08999bd392a10a9a6bef66803533655b777ddcf0d072c3a1b8f65fad9a7.css" media="all" rel="stylesheet" />
这样是加载不到 css 的,此时需要进行步骤 2 的设置
(2) 修改 config/application.rb 添加 config.relative_url_root = '/my_app' 这样<%= stylesheet_link_tag 'application', :media => 'all' %>
#=> <link href="/my_app/assets/application-aeb7f08999bd392a10a9a6bef66803533655b777ddcf0d072c3a1b8f65fad9a7.css" media="all" rel="stylesheet" />
如果上面说的有什么不妥的地方,麻烦指出