Hun*_*ick 4 ruby-on-rails generator ruby-on-rails-4
我打算创建一个生成器来为我在 Rails 4 中工作的系统创建一些自定义脚手架。我有一个基本生成器,该行将文件从模板复制到目标。
copy_file "controllers/module_controller.rb", "app/controllers/#{file_name}_controller.rb"
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我想知道如何在模板中使用 #{file_name} ?例如,我可以做这样的事情吗?
class <%= "#{file_name}" %>Controller < ApplicationController
Run Code Online (Sandbox Code Playgroud)
虽然我做的有点不同。我们将需要使用template方法而不是copy_file。
class SomethingGenerator < Rails::Generators::NamedBase
source_root File.expand_path('../templates', __FILE__)
def copy_files
# Controller
template "controllers/something_controller.erb", "app/controllers/#{something_name}_controller.rb"
end
private
def something_name
file_name.underscore
end
end
Run Code Online (Sandbox Code Playgroud)
这也适用于视图和其他文件。关键是使用 Dileep Nandanam 指出的 .erb 文件。
| 归档时间: |
|
| 查看次数: |
649 次 |
| 最近记录: |