如何使用 Rails 3 模板中的 thor 注释一行?

发布于 2024-12-29 12:24:22 字数 432 浏览 0 评论 0 原文

我想使用 spec_helper.rb) 中的一行>thor 在我的 Rails 3 模板中?

from:

  config.fixture_path = "#{::Rails.root}/spec/fixtures"

to

# config.fixture_path = "#{::Rails.root}/spec/fixtures"

我知道我可以使用 inject_into_file 将一行注入到文件中,但我想注释指定文件中的一行。

谢谢!

I want to comment a line from a file (spec_helper.rb) using thor in my Rails 3 template?

from:

  config.fixture_path = "#{::Rails.root}/spec/fixtures"

to

# config.fixture_path = "#{::Rails.root}/spec/fixtures"

I know I can inject a line to a file using inject_into_file, but I would like to comment a line from the specified file.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

丑丑阿 2025-01-05 12:24:22

我知道这是一个老问题,但我今天也有同样的问题...

现在你可以直接使用函数 comment_lines,请参阅 github 源代码并在此处发表评论: https://github.com/rails/thor/blob/main/lib/thor/actions/file_manipulation.rb

Github 源代码

如果需要,也可以使用反向操作“取消注释”。

这两个函数都使用 gsub_file 作为建议的第一个答案。

在我的用例中,我使用以下命令在“config/database.yml”文件中注释标志“database:”:

comment_lines 'config/database.yml', /database:/

希望这有帮助!

I know it's an old question but I had the same today...

Now you can use directly the function comment_lines, please see the github source code and comment here: https://github.com/rails/thor/blob/main/lib/thor/actions/file_manipulation.rb

Github source code

If needed the reverse action "uncomment" is available too.

Both of these functions use gsub_file as the first answer sugested.

In my use case, I comment the flag "database:" with in the "config/database.yml" file with this command:

comment_lines 'config/database.yml', /database:/

Hope this helps!

七婞 2025-01-05 12:24:22

Thor Action gsub_file

您可以使用文档中的

gsub_file 'app/controllers/application_controller.rb', /#\s*(filter_parameter_logging :password)/, '\1'

示例。您必须根据需要调整正则表达式和替换字符串,但这应该是可能的。

You could use the Thor Action gsub_file

Example from the documentation

gsub_file 'app/controllers/application_controller.rb', /#\s*(filter_parameter_logging :password)/, '\1'

You have to adapt the regex and replacement string on your needs, but this should be possible.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文