我有一个rails应用程序,我想用于多个站点,每个站点都有不同的设计.
我想将rails安装/公共目录更改为其他内容(最终动态).但是,我遇到了一个问题(错误?)更改目录...
在我的application.rb文件中,我将paths.public路径更改为"public"以外的其他内容(假设"site_one").这是代码:
puts paths.public.paths
paths.public = "site_one"
puts paths.public.paths
Run Code Online (Sandbox Code Playgroud)
两个"puts"命令用于调试.现在运行"rails s",你会看到:
/home/macklin/app/public
/home/macklin/app/site_one
Run Code Online (Sandbox Code Playgroud)
这将验证路径是否正确更改.但是,不久之后,rails会抛出以下错误(如果您需要完整跟踪,请告诉我):
Exiting
/usr/lib/ruby/gems/1.8/gems/railties-3.0.3/lib/rails/paths.rb:16:in `method_missing': undefined method `javascripts' for #<Rails::Paths::Path:0x7f422bd76f58> (NoMethodError) from /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.3/lib/action_controller/railtie.rb:47
Run Code Online (Sandbox Code Playgroud)
我的猜测是它找不到javascripts目录,即使它显然位于"site_one"文件夹中.
有谁知道为什么我得到这个?
呃。只需为样式表和 JavaScript 添加 2 个规则(我猜当您更改父路径时它们会被擦除)
paths.public.stylesheets = "site_one/stylesheets"
paths.public.javascripts = "site_one/javascripts"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2022 次 |
最近记录: |