0

我相信你会欣赏这种懒惰的尝试:我想在 Rails 3.2 中改进我的应用程序模板脚本。

我做类似的事情 rails new APPNAME -m path/to/template.rb

我想更新脚本以允许我cd进入新应用程序以便我可以运行bundle exec COMMAND

例如,

if compass = yes?("Would you like to install Compass and Susy?")
gem_group :assets do
 gem 'compass-rails'
 gem 'compass-susy-plugin'
end

     if compass == true
      run "bundle install"
      inside "#{Rails.application.class.parent_name}" do
        run "bundle exec compass install susy"
       end
 end
end

当我运行上面的代码时,我得到一个错误,比如 -

unexpected keyword_do_block (SyntaxError)
  /home/rhodee/GitRepos/dotfiles/workflow.rb:103: syntax error, unexpected keyword_end,   expecting $end

感谢您启用我的懒惰。

4

1 回答 1

1

您应该能够删除“内部”并简单地执行

run "bundle exec compass install susy"

要实际移动到目录中并执行某些操作,您可以:

run "cd #{Rails.application.class.parent_name}/public; rm index.html"

(当然,您可以将上述内容运行为“rm public/index.html”,但这不是重点。)

于 2012-04-10T14:13:55.337 回答