gpt4 book ai didi

ruby-on-rails - 实例变量假设 : UsersController assumes too much for instance variable '@user'

转载 作者:太空宇宙 更新时间:2023-11-03 17:43:58 24 4
gpt4 key购买 nike

我正在学习 Michael Hartl 教程 Rails 类(class)。在 chapter 7 ,我在 UsersController 上运行 Reek 并收到以下警告:

app/controllers/users_controller.rb -- 1 warning:
1:InstanceVariableAssumption: UsersController assumes too much for instance variable '@user' [https://github.com/troessner/reek/blob/master/docs/Instance-Variable-Assumption.md]

这是我的代码:

class UsersController < ApplicationController
def new
@user = User.new
end

def create
@user = User.new user_params
if @user.save
flash[:success] = t "welcome_to_app"
redirect_to @user
else
render "new"
end
end

def show
@user = User.find_by id: params[:id]

return if @user
flash[:danger] = t "not_exist_user"
redirect_to root_path
end

private

def user_params
params.require(:user).permit :name, :email, :password,
:password_confirmation
end
end

请解释为什么我收到此错误 InstanceVariableAssumption 以及如何解决此问题。

最佳答案

这看起来像是一种散发着恶臭的气味 recommends disabling在 GitHub 页面上。根据this bug report在项目中提交,这似乎只是由于 rails 使用/鼓励默认情况下 reek 不喜欢的模式。

关于ruby-on-rails - 实例变量假设 : UsersController assumes too much for instance variable '@user' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45051509/

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