- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想扩展 faker gem for rails 以生成其他随机日期(在我的例子中是电脑游戏名称)
#lib/extended_faker.rb
require 'faker'
require 'extended_faker/game'
#lib/extended_faker/game.rb
Module Faker
class Game < Faker::Base
class << self
def name
fetch('game.name')
end
end
end
end
#config/locals/faker_en.yml
en:
faker:
game:
name: ["a", "b", "c"]
#config/application.rb
...
config.autoload_paths += Dir["#{config.root}/lib/**/"]
...
然后当我在 Rails 控制台中运行它时,我得到以下信息
Loading development environment (Rails 3.2.9)
1.9.3p194 :001 > Faker::Game.name
LoadError: Expected /home/enermis/School/Projects/IG/test/lib/extended_faker/game.rb to define Game
from /home/enermis/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:503:in `load_missing_constant'
from /home/enermis/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:192:in `block in const_missing'
from /home/enermis/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:190:in `each'
from /home/enermis/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:190:in `const_missing'
from /home/enermis/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:514:in `load_missing_constant'
from /home/enermis/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:192:in `block in const_missing'
from /home/enermis/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:190:in `each'
from /home/enermis/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:190:in `const_missing'
from (irb):1
from /home/enermis/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.9/lib/rails/commands/console.rb:47:in `start'
from /home/enermis/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.9/lib/rails/commands/console.rb:8:in `start'
from /home/enermis/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.9/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
当我将 lib/extended_faker/game.rb 文件更改为这个时
require 'faker'
require 'extended_faker/game'
include 'extended_faker/item'
include 'extended_faker/team'
我在控制台中出现奇怪的行为
Loading development environment (Rails 3.2.9)
1.9.3p194 :001 > Faker::Game.name
=> "b"
1.9.3p194 :002 > Faker::Game.name
NameError: uninitialized constant Faker::Game
from (irb):2
from /home/enermis/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.9/lib/rails/commands/console.rb:47:in `start'
from /home/enermis/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.9/lib/rails/commands/console.rb:8:in `start'
from /home/enermis/.rvm/gems/ruby-1.9.3-p194/gems/railties-3.2.9/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
我不明白的奇怪事情是,我第一次运行生成器时,我得到了一个有效结果,但第二次我得到了一个错误...
我错过了什么?
最佳答案
你应该把它放进去lib/faker/game.rb
从 lib 目录开始,rails 约定是最外层的模块名称 -> in 是文件夹名称。然后实际的类/模块名称是文件名,下划线为驼峰式。
另一个例子
module Foo
module Bar
class BazParty
def self.hello
puts "hello"
end
end
end
end
将进入 lib/foo/bar/baz_party.rb
关于ruby - 在本地扩展 Faker gem 未初始化常量 Faker::xxx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14221223/
我们正在尝试启动一个新的 Rails 项目,出于测试目的,我们打算使用 faker。 faster faker (ffaker) 是 faker 的超集,我应该使用哪一个? 最佳答案 ffaker R
我想生成两个固定值之间的一些日期,但我不知道如何 使用faker.date. Between来实现这一点。 faker js demo中的示例只是给出一个 null 值。 最佳答案 不确定他们什么时候
这个问题在这里已经有了答案: Importing installed package from script with the same name raises "AttributeError: m
我想扩展 faker gem for rails 以生成其他随机日期(在我的例子中是电脑游戏名称) #lib/extended_faker.rb require 'faker' require 'ex
我在 Lubuntu 20.04 和 Maria-db 15.1、php 8.0.8 上运行 pimcore 10 和 coreshop 3。 (运行 coreshop 只能通过使用composer
我正在使用 github.com/dmgk/faker去打包生成假名。但是,每当我尝试导入包时,都会收到此错误消息: can't load package: package github.com/dm
我最近开始使用 Faker,因为它能够将数据本地化到各个区域。在尝试生成本地化电话号码时,我意识到电话号码有多种格式,如 here 所示。 .我想知道是否所有生成的电话号码都可以像这样格式化:(+91
我正在尝试在 Laravel 工厂中生成唯一的日期序列。例如: 2019-05-04 2019-05-05 2019-05-06 ... 2019-07-04 我试过这个,每个日期出现 0 - n 次
我想要最小长度为 1,最大长度为 3。 我试过 $faker->username(1,3); 它仍在生成长度更长的用户名。 另外我怎样才能让它只有字母?有时它的用户名中有句点。 define(App\
所以我正在用 Laravel 创建一个数据库并为其播种,但我遇到了一个问题,它生成了一个电话号码,如下所示:(635) 889-5802 x45134 .这会因超出数据库列的所需长度而导致问题。 所以
嗨,我正在使用 Faker 库生成随机数据来填充我正在处理的项目的表,正如您所看到的,我正在准备语句,然后在数组中设置该语句的所有变量。最后我正在执行该声明,但注意到为什么它让我非常困惑。 prepa
我有一个小程序加载到 JFrame 中,我可以向它发送鼠标信息,如下所示: MouseEvent m; m = new MouseEvent(owner.loader.applet.getCo
所以我有一个像这样的对象: class ContactPhoneFactory(factory.Factory): class Meta: model = ContactPho
如何从 Rails 中的 Faker gem 生成特定长度的单词数组?例如,我想制作一个包含五个单词的数组,其中每个单词的长度也是五个。 最佳答案 如果您想要任何 5 个可以混合数字和字母的字符,除了
我正在尝试设置新的 @faker-js/faker图书馆。到目前为止,我这样做了: npm i @faker-js/faker -D 在顶层添加了 faker.d.ts。所以树是这样的: faker.
我看到 repo 完全空白,并显示一条消息 What really happened with Aaron Swartz? 我想知道继续使用它是否仍然安全,或者我们应该切换到另一种选择。这是 repo
在 heroku rake db:migrate 之后,我收到以下错误: rake aborted! no such file to load -- faker /app/Rakefile:7 (Se
我有一个 Laravel 应用程序,要求注册用户必须使用他们的公司电子邮件(自定义域)。 那么我如何使用伪造生成器来实现这一点,以使用我的模型工厂对其进行测试? 最佳答案 您可以在 php 的 pre
我在我的 Laravel 5.5 项目中使用 Faker 来伪造一些数据。我遇到了这个问题,我需要将 faker 中的另外两个列设置为与生成的“实时”列相同的值。这就是我的意思: $factory->
import factory.fuzzy import faker from core.strings import underscore_15 from factory import DjangoM
我是一名优秀的程序员,十分优秀!