Вызовите текущего пользователя в контроллере приложения в рельсах - PullRequest
0 голосов
/ 08 сентября 2018

Привет, ребята. Я очень новичок в рельсах, и если мой вопрос довольно простой или тупой, пожалуйста, поймите меня. В настоящее время я использую devise gem, и я попытался поместить модальный в мой application.html.erb, чтобы модал всегда появлялся сверху, но я получаю сообщение об ошибке:

неопределенная локальная переменная или метод current_user для ApplicationController: Class

Где мне починить записи из Post.rb в Application.html.erb? Ценю вашу помощь!

Application.html.erb

<ul class="nav navbar-nav navbar-right">
   <% if user_signed_in? %> 
     <li><%=link_to 'Sign out', destroy_user_session_path, method: 'delete' %></li>
     <%=render "post_list", post_list: @post_list%> //I tried to call this
<% else %> 
   <li><%=link_to 'Sign in',  new_user_session_path %></li>
   <li><%=link_to 'Sign up',  new_user_registration_path %></li>
<% end %>
</ul>

Прикладной контроллер

class ApplicationController < ActionController::Base
  before_action :configure_permitted_parameters, if: :devise_controller?

  protected

  @post_list = Post.where(user_id: current_user).list?

  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:name])
    devise_parameter_sanitizer.permit(:account_update, keys: [:name])
  end
end

1 Ответ

0 голосов
/ 08 сентября 2018

Это был доступ к current_user в ApplicationController

class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception

  def current_user_posts?
    @post_list = Post.where(user_id: current_user).list? // current_user should work here.
  end

end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...