我有两个Ruby文件:
db/migrate/20120920180336_create_admin_pages.rb
db/migrate/20120920150716_devise_create_users.rb
此文件中有一个常量变量:_create_admin_pages.rb
如何在文件中找到它并使以下命令正常工作?
gsub_file "db/migrate/*_create_admin_pages.rb", "t.boolean :published", "t.boolean :published, :default => false"
答案 0 :(得分:2)
ruby -pe 'gsub("t.boolean :published", "t.boolean :published, :default => false")' < db/migrate/*_create_admin_pages.rb
Ruby可以运行多个选项。这里-pe
选项(实际上有两个选项)让Ruby执行这个循环:
-pe
之后运行字符串作为代码,全部使用隐式变量$_
,即最后一条读取行。
答案 1 :(得分:0)
你可以试试这个:
gsub_file Dir['db/migrate/*_create_admin_pages.rb'].first, "t.boolean :published", "t.boolean :published, :default => false"