gpt4 book ai didi

ruby-on-rails - 未定义的局部变量或方法 'current_user' (rails)

转载 作者:行者123 更新时间:2023-11-28 20:20:59 24 4
gpt4 key购买 nike

我正在测试我的项目,它是关于包含此方法的 application_helper.rb :

def delete_link table=""
if current_user.role.name=="Admin" || current_user.role.name=="Pemilik"
link_to 'Hapus', table, :confirm => 'Anda yakin?', :method => :delete
end
end

我想测试那个方法,所以我像这样在我的 customers_controller_test.rb 上进行测试

require 'test_helper'

class CustomersControllerTest < ActionController::TestCase
include Devise::TestHelpers
include ApplicationHelper
setup do
@permission = Permission.create(:name=>"Customer")
@role = Role.create(:name=>"Admin")
@user = User.create(:name=>"Admin", :role_id => 1, :email => "email@email.email", :password => "123456")
@role_permission = RolePermission.create(:role_id=>@role.id, :permission_id=>@permission.id, :access=>2)
@customer = FactoryGirl.create(:customer)

sign_in @user
end

test "should link to delete" do
puts assert sign_in @user
current_user = @user
puts current_user.name
puts current_user.role.name
assert delete_link(customer_path(@customer.id))
puts "2"
end
end

但是我得到了未定义的局部变量或方法“current_user”。任何想法?谢谢你的建议:)

最佳答案

devise 的 current_user 方法是在应用程序 Controller 上定义的,因此在助手中不可用。通过 th 辅助方法的参数提供给用户,你就设置好了。

关于ruby-on-rails - 未定义的局部变量或方法 'current_user' (rails),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11011220/

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