Pau*_*lan 5 ruby ruby-on-rails ruby-on-rails-plugins ruby-on-rails-3
我想创建一个基于应用程序中现有文件(例如视图或控制器)创建文件(和目录等)的生成器.所以,如果我们有这样的观点设置
-app
-views
- layouts
- application.html.erb
- users
- index.html.erb
- show.html.erb
- etc ...
Run Code Online (Sandbox Code Playgroud)
我想创建基于它的文件我可以做(只是红宝石)
directories = Dir.entries("#{Rails.root}/app/views")
directories.each do |directory|
unless directory == "." or directory == ".."
files = Dir.entries("#{Rails.root}/app/views/#{directory}")
files.each do |file|
unless file == "." or file == ".."
text = File.read("#{Rails.root}/app/views/#{directory}/#{file}")
something #=> whatever else needs to go here to edit the file
something else #=> output_file.puts whatever
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
所以这基本上是我想用生成器做的,所以我可以将我的代码转换成插件并将其用于其他应用程序.
第一个问题,我如何生成任意文件(使用生成器基于现有文件名的文件名.是否适合像我上面那样遍历目录,获取目录/文件并生成文件?有没有办法做我做的事情确实使用了一种更简单的方法(我的方法似乎很容易破碎).
另外,我应该将所有读取/格式化/写入代码放在生成器本身内,只是将字符串传递给"initialize content"部分create_file或者我应该将其放在其他地方.或者我应该使用生成器来创建裸文件并使用init脚本填充它?
是否有更多rails类型的方法来填充生成的文件,或者我应该只将所有格式化代码推送到生成器中.如果是这样,采用这种方法的适当方法是什么.
| 归档时间: |
|
| 查看次数: |
1217 次 |
| 最近记录: |