0

以下は、 PHP でclothes.comサイトを構成する方法の例です。

index.php
style/
  style.css
men/
  index.php
  style/
    style.css
women/
  index.php
  style/
    style.css

この同じサイトをシナトラでどのように構成しますか? Sinatra は「フォルダー」構造ではあまり機能しないように見えるため、私は混乱していますが、代わりに同じファイルにルートを含めることになります。

get '/' do
  haml :index
end

get 'men' do
  haml :men
end

get 'women' do
  haml :women
end

問題は、このモデルを使用すると、すべてが同じ「パブリック」フォルダーに入れられることです。これは、組織化されるはずの方法ですか?

インデックス、男性、女性ごとに異なるスタイルシート ファイルをどのように整理しますか? それらも同じ「パブリック」フォルダーに移動する必要がありますか?

4

2 に答える 2

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

または、古いスタイルのパスを維持したい場合は、これらの古いフォルダーから 1 つのフォルダーにリダイレクトします。

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フォルダーに直接配置できます。

Haml テンプレート内でスタイル ファイルをstyle.css(パスは一切指定せずに)呼び出すと/public/style.css、ルートをチェックする前に Sinatra が最初に検索されることに注意してください。

于 2013-03-08T19:04:58.630 に答える
0

sinatra プロジェクトには常に次のテンプレートを使用してきました: Sinatra Github プロジェクト テンプレート

編集: routes フォルダーを見ると、彼が 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
于 2013-03-08T17:14:56.090 に答える