添加额外的font-end文件夹以在Rails中提供静态html页面

时间:2016-08-13 10:02:50

标签: ruby-on-rails ruby ruby-on-rails-3 routes asset-pipeline

我试图在我的Rails应用程序上显示一些静态登录页面。截至目前,我将所有静态s:=('a','b','c','d','e')页面放在.html文件夹中,并映射路径,如

my_app/public/website

该静态页面上有一个链接,点击该链接后,用户将被重定向到我的主轨道应用程序。

现在我需要将match '', :to => redirect('/website/index.html') public内的文件夹移动到website/*之类的根目录。

我已经更改了上面的文件夹结构,并将路由更改为

my_app/website/

我收到此错误

match '', :to => redirect('website/index.html')

这只是热门和试用的方法,老实说,我不确定是否有可能这样做。我猜是否有任何配置选项可以让我将任何根级别目录设置为服务器静态资产。

非常感谢

任何建议都将受到赞赏。

2 个答案:

答案 0 :(得分:1)

您需要在config/application.rb文件中定义要用作公开的文件夹,如下所示。

paths['public'] = 'website'

然后您可以将路线定义为

get '', :to => redirect('index.html')

或者,您可以将整个内容放在frontend文件夹中,这样,如果您有多个静态页面,任何名称冲突的可能性都会降低

# config/application.rb
paths['public'] = 'frontend'

# config/routes.rb
get '', :to => redirect('website/index.html')

希望它有所帮助。

Reference

答案 1 :(得分:1)

覆盖现有的公用文件夹不是一个好主意。您应该在paths['my_website'] = 'website'

中定义另一条路径,例如config/application.rb

然后您可以在路线中使用此路径,例如

get '/my_website', :to => redirect('my_website/index.html')