问题标签 [rails-generators]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 在自定义 Rails 生成器中使用 class_name
我有一个看起来像这样的基本自定义生成器,它继承自 Rails 5.1 应用程序中的 Rails::Generators::NamedBase
我的模板文件名为 notification.rb.tt,它位于 ../templates 目录下。
模板如下所示:
但是,当我运行生成器时,创建的文件在文件中有 <%= class_name %> 而不是该方法调用的结果。如何让生成器像 erb 模板一样实际渲染?
ruby-on-rails-5 - 覆盖 Rails 生成器以将 date_select 更改为 date_field
我一直在尝试覆盖 rails 生成器(当您运行时rails generate scaffold
)以生成日期类型 adate_field
而不是date_select
表单(时间和日期时间相同)。映射位于railties/lib/rails/generators/generated_attribute.rb
def field_type
@field_type ||= case type
when :integer then :number_field
when :float, :decimal then :text_field
when :time then :time_select
when :datetime, :timestamp then :datetime_select
when :date then :date_select
when :text then :text_area
when :boolean then :check_box
else
:text_field
end
end
我不知道把更新的generated_attribute.rb
文件放在哪里。我在rails应用程序中尝试过,但lib/generators/generated_attribute.rb
没有lib/templates/generators/generated_attribute.rb
效果。我还没有找到有关覆盖此文件以更改行为的任何其他信息。
提前致谢。使用导轨 5.2
ruby-on-rails - 当 gem 添加到 rails 引擎并加载到另一个应用程序中时,未初始化的常量 MetaTags
我目前正在构建一个rails引擎,在我的gemspec文件中我有这个gem meta-tags
,我已经像这样添加了
保险.gemspec
我还添加了一个文件来将这个 gem 的初始化配置复制到我的主应用程序中,就像这样
在 lib/generators/insurance/install_generator.rb
在我的 main_application 中,当我运行时,会像这样创建一个 config/initializers/meta_tags.rb 文件rails g insurance:install
配置/初始化程序/meta_tags.rb
但是当我运行 rails s 时,我得到错误config/initializers/meta_tags.rb:2:in
“:未初始化的常量 MetaTags (NameError)”。
那么我应该如何在我的 Rails 引擎中添加一个 gem 并能够从我的 rails 引擎或我的主应用程序调用常量。
任何建议表示赞赏
ruby-on-rails - 虚荣宝石:奇怪的铁轨会产生虚荣错误
我正在尝试将 Vanity gem 引入到一个项目中,并且在我尝试运行生成器之前一切都很顺利。这是电话:
这是输出:
找不到生成器“虚荣”。也许你的意思是“虚荣”、“任务”或“邮件”运行
rails generate --help
更多选项。
请注意,它找不到“虚荣”,然后暗示虚荣。呜?然后我花了一点时间来验证生成器是否确实存在:
并得到:
虚荣心:
虚荣心
虚荣心:意见
我正在使用 Spring,所以我用spring stop
.
我还应该注意,我尝试了很多事情,例如:
此外,我实际上正在使用捆绑器,所以我bundle exec
在命令开头使用和不使用所有这些东西。
我想知道这个错误是否真的掩盖了我本地设置中的问题,但我已经仔细观察并确信虚荣的安装和设置是正确的。
版本信息:
编辑:附加信息:我走上了停止 Spring 服务器、捆绑更新然后尝试生成器的路径——没有任何改变。我什至尝试过进入实际的生成器并在那里调试。在加载文件时,它从不执行任何方法。
ruby-on-rails - 如何在现有资源周围生成脚手架而不丢失现有代码/文件/列?
我没有从头开始一个新的 Rails 应用程序,而是从一个模板构建它(它会自动生成用户表,其中已经设置了各种东西 - 登录/密码重置,还有一些其他的东西)。
如果我想达到rails g scaffold User ..
但不覆盖已经设置的任何内容(通过模板)的效果,有没有简单的方法可以做到这一点?也就是说,rails g scaffold User
应该只添加到代码/文件/列,而不是覆盖任何东西。
有什么简单的方法可以做到这一点?
ruby-on-rails - 如何将我的 rails 自定义生成器连接到模型一?
目前,我创建了一个独立的生成器。当我运行时rails g query
,它可以正常工作并很好地创建我的文件。
这里的代码:
现在,我想在人们运行时运行生成器,rails g model
但我无法实现。我尝试覆盖生成器模型类并使用 ahook_for
来调用它,但它不起作用。这里的代码:
我希望你能帮助我。谢谢!
ruby-on-rails - Ruby on rails 6.1.2 从索引页面创建帖子
我刚开始学习 Rails,需要一些帮助。
我执行了命令rails g scaffold posts title:string description:string
,并生成了一些页面和一个控制器。
页面localhost:3000/posts
显示我所有的帖子。
页面localhost:3000/posts/new
给我创建新帖子的表格。
如何从localhost:3000/posts
页面创建帖子?我的代码在这里 - github
十分感谢!
ruby-on-rails - Rails.configuration.generators.active_record 在测试期间是如何设置的?
我正在对我多年前写的名为validation_auditor的 gem 进行现代化改造。它有一个创建迁移的 Rails 生成器。它现在与最新的 Rails 配合得很好,但我在测试它时遇到了麻烦。我有一个非常简单的测试:
当我运行它时,它会抛出这个错误:
错误发生在这一行:
这是安装程序的一部分。
当我在 Rails 项目中运行它时,那条线工作正常,我只是无法让它在测试中工作。
该行的灵感来自 Thoughtbot 的 Clearance,它确实成功地测试了它的生成器:https ://github.com/thoughtbot/clearance/blob/e653b303e152c8af31a5c30c1b9b13a3e36b3716/spec/generators/clearance/install/install_generator_spec.rb#L9
任何想法 Rails 这样做的方式是什么?我试图了解 Clearance 是如何工作的,但是有很多代码要经过,我还没有设法正确理解,我想知道即使 Clearance 是否正确地做到了。