Rails:创建静态服务页面

时间:2014-09-18 17:07:50

标签: ruby-on-rails templates static asset-pipeline

我购买了一个模板,我想将其用作我已构建的现有应用程序的登录页面。

模板具有以下格式:

  |- template
    |- index.html
    |- images
    |- js
    |- css

我想将此文件夹原样插入到我的项目中,然后像这样访问它:

  def landing
    render "/app/views/template/index"
  end

目前,由于rails管道,这种方法对我不起作用。

有没有办法覆盖管道并以静态方式提供此模板?

我玩过的另一种方法是托管一个单独的静态站点(https://devcenter.heroku.com/articles/static-sites-ruby),并为其提供应用程序当前域名,然后将其链接到主应用程序。

但是,一些研究表明,更改DNS可能需要几天才能生效,这不是一种选择。

我应该怎么做?

2 个答案:

答案 0 :(得分:0)

一种解决方案是将JS,CSS和图像与资产管道集成(即将它们移动到app/assets/中的相应文件夹。难点在于您必须手动更改参考在index.html文件中使用这些东西(使用JS和CSS更容易,对于图像来说可能会更加繁琐)。然后你就像这样创建合适的路径和控制器:

的routes.rb

root 'template#index'

template_controller.rb

def index
end

并且一切都应该有效(您也可能需要将index.html更改为index.html.erb)。

答案 1 :(得分:0)

我发现在将资产链接包装在以下内容后,我可以将公用文件夹用于此目的:

<%= asset_url('LINK') =>