问题标签 [thor]
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 generate scaffold_controller`不响应视图的参数
在scaffold_controller
帮助 ( rails generate scaffold_controller -h
)
传递模型名称(CamelCased 或 under_scored)以及视图列表作为参数。
当我添加输入类似
我获得了所有 REST 操作和视图,但没有主视图。
我在这里检查了 rails repo 的历史,可以追溯到scaffold_controller 生成器的诞生,我没有看到任何似乎可以接受参数的东西,但是相同的文档。
这只是一个被忽视的错误,还是我错误地输入了我的论点(或其他东西;)?
更新
好像一直在寻找rails generate controller Page home
。不过,文档中似乎仍然存在错误。
ruby - 模板方法的 Thor 源路径
我正在尝试使用 Thor 模板方法。但是当我为我的案例编写规范时,结果发现脚本没有看到模板目录
目录结构
command.rb 中的 Thor 任务实现
失败的规范
ruby-on-rails - 大礼包安装错误“大礼包(> = 0)x86-mingw32取决于雷神(= 0.15.4)”
尽管我的 gem 列表中有两个版本,但在 rails 上安装 spree 会导致依赖于“thor”的多个错误。
#Bundler 找不到 gem "thor" 的兼容版本:在 Gemfile: spree (>=0) x86-mingw32 依赖于 thor (= 0.14.6) x86-mingw32
#注意:我使用的版本是:
导轨 3.2.6
大礼包 1.1.2
红宝石 1.9.3p194
ruby-on-rails - Thor 中的跨类调用
我正在尝试从另一个雷神类调用雷神类。
有调用方法,但在同一个类中调用方法。有没有办法做这个跨类?我假设正确的方法是使用 Thor 框架。
编辑
我试图让一个班级将任务委托给其他班级。例如,您调用foo bar list
, 主类 Foo 使用方法列表委托给 Bar 类,或者foo module find 1
, 并使用方法 find 和参数 1 委托给 Module 类。
ruby - 如何让 Thor 显示选项?
这是我的 Ruby 代码:
这是输出:
我怎样才能让它看起来像这样?
ruby-on-rails - 将源路径添加到生成器(thor、rails)
尝试制作我自己的应用程序生成器(即rails new appName -m path/to/generator
)并在rails 旁边使用我的自定义生成器。
一切顺利,除非我想添加一个 source_path。有几篇关于这如何与现有应用程序的生成器一起工作的帖子 - 看到这里我得到了同样的错误。
当我将以下行添加到脚本的顶部时:
source_root File.expand_path('../dependencies', FILE )
控制台返回:
apply': undefined method 'source_root' for # Rails::Generators:: App Generator : 0x007f8b0a2a3798> (NoMethodError)
鉴于我在 Rails 项目中而不是纯 ruby 项目,我应该如何重组我的生成器?
ruby-on-rails - Thor Gem - 在任务之前发送参数
我知道的令人困惑的描述,请参见示例:
这很简单。因此,如果我打电话(雷神已经以这种方式设置为使用类名作为第一个标识符)。现在没有 id,所以什么都没有打印。
最后的问题是,我怎样才能使用 Thor 以这种形式向方法发送参数?
我想做的是在任务名称之前传递参数栏,这对Thor来说可能吗?
抱歉,这个问题令人困惑,但目前简化我复杂代码的最佳方法。
ruby-on-rails-3.2 - 在 Rails 3.x 中折旧的 `load_template` 等价物?
我正在尝试提高我的生产力并“存储”我公认的薄弱但对使用 rails templates的 rails 最佳实践的理解。我的问题是,我rails-templates/base.rb
的代码已经变成了令人尴尬的 308 行代码。即使是我这个级别的人也知道这是次优的。我渴望将那个怪物分解成易于管理的部分。
Ryan Bates在“RailsCasts #148, App Templates in Rails 2.3”中介绍了模板。贝茨创建了一个身份验证模板,该模板base-template.rb
使用
我很想用load_template
它来做同样的事情,但它显然已经贬值了。我可以用什么代替吗?任何关于塑造我的模板的更一般的建议也将不胜感激。
ruby - 在生成器模板 SCSS 文件中动态写入
我正在尝试在 Rails 中为我的管道资产标准设置创建自己的生成器。我一直在关注Ryan Bates Railscast 的发电机
他解释了如何在 html.erb 文件中添加动态代码,但我尝试在 scss 文件中做类似的事情,它只是输出标签:
但是当我调用 create_template 时并没有执行它,它只是将代码添加到模板中。我试过调用文件 .scss.erb 但也不满意吗?
关于如何调整文件以使 if 语句起作用的任何想法?
ruby - 如何使用 rspec 为 CLI 测试标准输入
我正在制作一个小型 Ruby 程序,但不知道如何编写模拟多个用户命令行输入的 RSpec 规范(功能本身有效)。我认为这个 StackOverflow 答案可能涵盖了离我最近的地方,但这并不是我所需要的。我将Thor用于命令行界面,但我认为这不是 Thor 中的任何问题。
该程序可以从文件或命令行读取命令,并且我已经能够成功编写测试以读取并执行它们。这是一些代码:
cli.rb
我已经成功测试了使用以下代码执行文件中包含的命令:
规范/cli_spec.rb
valid_test_data
上面提到的格式如下:
支持/实用程序.rb
我现在想做的是完全相同的事情,但是我不想从“文件”中读取每个命令并执行它,而是想以某种方式模拟用户输入stdin
. 下面的代码是完全错误的,但我希望它可以传达我想要去的方向。
规范/cli_spec.rb
我已经尝试cli.stub(:puts)
在各个地方使用,并且通常会重新排列这段代码,但似乎无法让我的任何存根将数据放入标准输入。我不知道我是否可以像处理命令文件一样解析我期望从命令行获得的输入集,或者我应该使用什么代码结构来解决这个问题。如果已经指定命令行应用程序的人可以加入,那就太好了。谢谢。