Rails 3.1アプリケーションでは、Deviseのuser_logged_in?
というメソッドがあります。これは部分的にレンダリングするために使いたいものです。レイアウト/ application.html.erbのコードは次のとおりです。Rails 3、ユーザーがログインしている場合にのみ部分的レンダリング
<% if user_logged_in? %>
<%= render :partial => "home/statusbar" %>
<% end %>
これは別のコントローラの一部を使用しています。これは部分的である:current_user
がnil
あるため
<div id="status_bar">
Signed in as <%= link_to current_user.name, edit_user_registration_path %>
</div>
エラーは、current_user.name
(不定法)で起こります。私はuser_logged_in?
チェックを部分的に動かすことができましたが、それがビューにあれば、それはわずかに効率的だと思います。
私にベストプラクティスが何であるか、または未定義のメソッドエラーをどのように克服できるか教えてください。 if
ブロック内にあるのにRailsがテンプレートのコードをチェックするのは正常ですか?
はい、あります。私はuser_signed_in?を使用すると動作します。完全に間違った方法。ごめんなさい、ありがとう! – joseph