以下是我如何在PHP中组织网站 clothes.com 的示例:
index.php
style/
style.css
men/
index.php
style/
style.css
women/
index.php
style/
style.css
您如何在Sinatra组织同一个网站?我很困惑,因为Sinatra似乎对“文件夹”结构不起作用,但你要在同一个文件中使用路径:
get '/' do
haml :index
end
get 'men' do
haml :men
end
get 'women' do
haml :women
end
问题是所有内容都使用此模型进入相同的“公共”文件夹。这是应该组织的方式吗?
你如何组织样式表文件,每个文件都有不同的索引,男人,女人?他们是否也应该进入同一个“公共”文件夹?
答案 0 :(得分:1)
老实说,来自PHP 很困难。
您的网站有一些注意事项。你想保持旧网站的结构吗?如果是,您将必须在Sinatra中使用相同的路线:
get '/index.php' do
haml :index
end
get '/men/index.php' do
haml :men
end
get '/women/index.php' do
haml :women
end
然后,您还必须将样式文件放入相应的公共文件夹中:
/public
/style
style.css
/men
/style
style.css
/women
/style
style.css
如果您想保留旧的样式路径,或者从这些旧文件夹重定向到一个文件夹:
get '/men/stye/style.css' do
redirect '/style/men_style.css'
end
fet '/women/style/style.css' do
redirect '/style/men_style.css'
end
如果您编写所有新的haml模板,可以直接将它们放入/public
文件夹。
请记住,当您通过style.css
(无路径)在haml模板内部调用样式文件时,Sinatra会在检查路由之前首先查看/public/style.css
。
答案 1 :(得分:0)
我总是在我的sinatra项目中使用以下模板: Sinatra Github project template
编辑:如果你查看路线文件夹,你会看到他使用init.rb文件来要求他的其他路线。
另外,我通常会像这样组织我的CSS:
public/
css/
main.css
men.css
women.css
如果css文件夹中包含太多css文件,我通常会这样做:
public/
css/
men/
men.css
more.css
evenmore.css
women/
women.css