gpt4 book ai didi

ruby-on-rails - 可以在 View 中使用@current_user 但不能在 Controller 中使用

转载 作者:行者123 更新时间:2023-12-02 00:57:43 25 4
gpt4 key购买 nike

我可以

<p>Welcome <%= @current_user.login %></p>
<% @comments.each do |comments| %>
<h3><%= comments.body %></h3>
<% end %>

但不是

@cuser = @current_user
@user = User.find(params[:user_id])
@user.comments.create(:user_id => @user.id, :commenter => @cuser.login, :body => params[:comment][:body])
respond_to do |format|
format.js
format.html { redirect_to(@user, :notice => 'Comment was successfully created.') }

这给出了错误“undefined method ‘login’ for nil:NilClass”

如果我可以在一个实例中使用@current_user 为什么不能在另一个实例中使用

最佳答案

在 View 和 Controller 中使用 current_user 而不是 @current_user

您的 ApplicationController 上可能有一个 current_user 方法。该方法正在创建您在 View 中使用的 @current_user 变量。

在 View 和 Controller 中都使用 current_user 是一种常见的做法。要检查登录,只需执行 current_user.login。那会起作用的。

关于ruby-on-rails - 可以在 View 中使用@current_user 但不能在 Controller 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32551599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com