2

私はこれに慣れていないので、愚かなことをしていたら許してください!

ユーザーの認証にOmniAuth for Sinatraを使用しています。私のlayout.erbでは、ヘルパーにアクセスしてcurrent_user、ユーザーがログインしているかどうかを確認したいと思います。ヘルパーは次のようになります。

def current_user
    @current_user ||= User.get(session[:user_id]) if session[:user_id]
end

しかし、レイアウト ビューでアクセスする方法がわかりません。これでうまくいくと思いました:

<% if current_user %> Do stuff here <% end %>

しかし、運がありません。どんな助けでも大歓迎です!私が言ったように、私は Ruby の初心者であり、強力な開発者ではありません。

4

1 に答える 1

1

次のように、block内でそのメソッドを定義する必要がありますhelpers

helpers do
  def current_user
    @current_user ||= User.get(session[:user_id]) if session[:user_id]
  end
end

その後、ビューで使用できるようになります。

于 2012-10-30T01:10:11.050 に答える