如何构建Ruby on Rails自定义视图引擎的长尾脚手架?

2026-04-11 16:561阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计322个文字,预计阅读时间需要2分钟。

如何构建Ruby on Rails自定义视图引擎的长尾脚手架?

我正在尝试从我的框架中利用自定义脚手架。在一个普通的Rails应用程序中,我跟随了一些关于自定义Rails 3.2脚手架的教程。我将我的自定义模板放置在engine / lib / templates / erb / scaffold目录中。

我正在尝试从我的引擎中使用自定义脚手架.

我在一个普通的Rails应用程序中跟踪了一些关于自定义Rails 3.2脚手架的教程,并将我的自定义模板放在engine / lib / templates / erb / scaffold目录中,但它们不会被包含引擎的应用程序选中.有什么建议?

更新:
我还试图覆盖Rails ScaffoldGenerator的source_path并尝试了一些其他路径来放入我的模板,例如:
LIB /导轨/发电机/ ERB /支架/模板

在您声明引擎的文件中使用此命令:

class Engine < Rails::Engine config.app_generators do |g| g.templates.unshift File::expand_path('../templates', __FILE__) end end

它应该改变默认情况下Rails使用的模板文件夹的首选项.

现在只需将模板文件放在lib / templates / erb / scaffold / template_name.erb中

其中template_name是以下之一:_form.html.erb,edit.html.erb,index.html.erb,new.html.erb,show.html.erb

一旦你包含了gem,你应该能够像往常一样使用rails generate scaffold命令.

以下是覆盖rails中默认支架的引擎示例:

github.com/brocktoncg/gemboree

这是模板目录所在的位置:

如何构建Ruby on Rails自定义视图引擎的长尾脚手架?

github.com/brocktoncg/gemboree/tree/master/lib/templates/erb/scaffold

本文共计322个文字,预计阅读时间需要2分钟。

如何构建Ruby on Rails自定义视图引擎的长尾脚手架?

我正在尝试从我的框架中利用自定义脚手架。在一个普通的Rails应用程序中,我跟随了一些关于自定义Rails 3.2脚手架的教程。我将我的自定义模板放置在engine / lib / templates / erb / scaffold目录中。

我正在尝试从我的引擎中使用自定义脚手架.

我在一个普通的Rails应用程序中跟踪了一些关于自定义Rails 3.2脚手架的教程,并将我的自定义模板放在engine / lib / templates / erb / scaffold目录中,但它们不会被包含引擎的应用程序选中.有什么建议?

更新:
我还试图覆盖Rails ScaffoldGenerator的source_path并尝试了一些其他路径来放入我的模板,例如:
LIB /导轨/发电机/ ERB /支架/模板

在您声明引擎的文件中使用此命令:

class Engine < Rails::Engine config.app_generators do |g| g.templates.unshift File::expand_path('../templates', __FILE__) end end

它应该改变默认情况下Rails使用的模板文件夹的首选项.

现在只需将模板文件放在lib / templates / erb / scaffold / template_name.erb中

其中template_name是以下之一:_form.html.erb,edit.html.erb,index.html.erb,new.html.erb,show.html.erb

一旦你包含了gem,你应该能够像往常一样使用rails generate scaffold命令.

以下是覆盖rails中默认支架的引擎示例:

github.com/brocktoncg/gemboree

这是模板目录所在的位置:

如何构建Ruby on Rails自定义视图引擎的长尾脚手架?

github.com/brocktoncg/gemboree/tree/master/lib/templates/erb/scaffold