Trên ứng dụng Rails 3.1, tôi có phương thức được gọi là user_logged_in?
từ Devise, mà tôi muốn sử dụng để hiển thị một phần có chọn lọc. Đây là mã trong bố cục/application.html.erb:Rails 3, chỉ hiển thị một phần nếu người dùng đăng nhập
<% if user_logged_in? %>
<%= render :partial => "home/statusbar" %>
<% end %>
Nó sử dụng một phần từ bộ điều khiển khác. Đây là một phần:
<div id="status_bar">
Signed in as <%= link_to current_user.name, edit_user_registration_path %>
</div>
Một lỗi xảy ra ở current_user.name
(phương pháp xác định), vì current_user
là nil
. Tôi có thể di chuyển các kiểm tra user_logged_in?
bên trong một phần, nhưng tôi nghĩ rằng nó sẽ có hiệu quả nhẹ hơn nếu nó được xem.
Bạn có thể hướng dẫn tôi những phương pháp hay nhất hay cách tôi có thể khắc phục lỗi phương pháp chưa xác định? Rails có kiểm tra mã của mẫu ngay cả khi nó nằm trong khối if
không thành công?
Vâng, đúng vậy. Nó cũng hoạt động nếu tôi sử dụng user_signed_in ?. Phương pháp hoàn toàn sai. Xin lỗi và cảm ơn! – joseph