小编Ala*_*ira的帖子

LexikJWTAuthenticationBundle - 没有扩展能够加载"api_login_check"的配置

我正在尝试使用JWT和PHP进行一些实验,但我无法使LexikJWTAuthenticationBundle工作.

我使用composer创建了一个Symfony项目,composer create-project symfony/skeleton my_project并使用Symfony Flex安装LexikJWTAuthenticationBundle composer req jwt-auth 然后我按照Github中的项目入门(https://github.com/lexik/LexikJWTAuthenticationBundle/blob/master/Resources/doc/index.md#getting-开始)但当我尝试运行该应用程序时,我收到此错误消息:

[Symfony\Component\Config\Exception\FileLoaderLoadException]
There is no extension able to load the configuration for "api_login_check" (in /home/alan/Desktop/auth/config/packages/routing.yaml). Looked for namespace "api_login_check", found "framework", "security", "lexik_jwt_authentication" in /home/alan/Desktop/auth/config/packages/routing.yaml (which is loaded in resource "/home/alan/Desktop/auth/config/packages/routing.yaml").

[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]
There is no extension able to load the configuration for "api_login_check" (in /home/alan/Desktop/auth/config/packages/routing.yaml). Looked for namespace "api_login_check", found "framework", "security", "lexik_jwt_authentication"
Run Code Online (Sandbox Code Playgroud)

我在github中创建了一个存储库,其代码出现错误 https://github.com/alanoliveira/jwt_auth_test

有人能给我一些提示我做错了吗?

php symfony jwt lexikjwtauthbundle

7
推荐指数
1
解决办法
1433
查看次数

如何让FactoryBot返回正确的STI子类?

我正在对我的系统进行重大更改,因此我将一个主表更改为 STI,并创建子类来实现特定行为。

class MainProcess < ApplicationRecord
end

class ProcessA < MainProcess
end

class ProcessB < MainProcess
end
Run Code Online (Sandbox Code Playgroud)

在应用程序代码中,如果我运行MainProcess.new(type: 'ProcessA')它将返回我想要的ProcessA 。但在 Rspec 测试中,当我运行FactoryBot::create(:main_process, type: 'ProcessA')它时,它会返回MainProcess并破坏我的测试。

我的因素是这样的

FactoryBot.define do
  factory :main_process do
    foo { 'bar' }
  end

  factory :process_a, parent: :main_process, class: 'ProcessA' do
  end

  factory :process_b, parent: :main_process, class: 'ProcessB' do
  end
end
Run Code Online (Sandbox Code Playgroud)

有没有办法让 FactoryBot 具有与正常程序相同的行为?

rspec ruby-on-rails factory-bot

7
推荐指数
1
解决办法
1913
查看次数

如何为 Rails 活动记录中的 JSON 列/属性设置默认值?

我有这样的课程

#  json_column  :json
class MyClass < ActiveRecord::Base
  def name=(val)
    json_column[:name] = val
  end

  def name
    json_column[:name]
  end
end
Run Code Online (Sandbox Code Playgroud)

当我加载数据时它工作正常,但是如果我创建一个新实例,就像MyClass.new(name: "foo")我的问题开始一样......

如果我让它保持原样,它将抛出异常,name=因为 nil 不是哈希:)。

如果我尝试在 after_initialize 方法中初始化 json_column

after_initialize { self.json_column ||= {}  }
Run Code Online (Sandbox Code Playgroud)

它也不起作用,因为似乎是after_initialize在设置参数后调用的

有人提示我应该如何解决这个问题吗?先感谢您

serialization json ruby-on-rails

4
推荐指数
1
解决办法
3135
查看次数

如何在 FactoryBot 特征中取消设置属性?

在我的模型中,我有一个具有默认值的属性foo

我想编写一个与foo的默认值相关的测试,但我的 FactoryBot 将其设置为 nil (并覆盖默认值)。

如果我从工厂机器人中删除foo它将破坏一些其他测试。所以我想使用类似trait 的东西来创建一个foo不是 net 的情况,但我没有找到任何方法来取消设置属性。

有没有办法在 FactoryBot 中取消设置属性?

FactoryBot.define do
  factory :my_model do
    foo { 'abc' }
    bar { 'abc' }

    trait(:foo_not_set) do
      # magic to unset foo
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails factory-bot

1
推荐指数
1
解决办法
636
查看次数