1

sinatra-authenticationlayout.hamlは、事前にロールされた認証ビューに を期待しています。

アプリのビューを保持できるように、sinatra-authentication使用できる別のレイアウト テンプレート (例: )を指定するにはどうすればよいですか?auth_layout.hamllayout.haml

これに対する私の現在の理想的ではないアプローチは、次のとおりです。

  • sinatra-authentication標準の使用を許可するlayout.haml
  • std_layout.hamlアプリの他のすべての部分で別のレイアウト ファイル (例: ) を明示的に使用する

例えば

...
erb :home_page, :layout => :std_layout
...

私は逆の方がいいです:)

4

1 に答える 1

0

あなたはレイアウトエンジンを読んだり、単に試してみることができます:

get '/login' do
  haml :login, layout: auth_layout
end

EDIT-1: あなたのコメントは OKlayout: auth_layoutです Ruby 1.9 構文:layout => auth_layoutは 1.9 以前に使用された構文です

そして、このsinatra-authenticationについて話しているのであれば、このファイルapp.get '/login/?'メソッド(Module::Helpers#use_layout?)をハックしなければなりません。

EDIT-2:上書きuse_layout?方法が役立つと思います。おそらく次のようなものです

Module Sinatra
  Module Helpers
    def use_layout?
       request.xhr? ? false : :auth_layout
    end
  end
end
于 2012-09-06T11:24:31.820 に答える