Do you really need to do a 'render :template' anyway?  Why not just
use a string and interpolate the vars?  For example, I do the
following:

      desc <<-DESC
      Setup the database.yml file in shared/config
      DESC
      task :setup_config, :roles => [:app] do
        database_configuration = <<-EOF
        #{rails_env}:
          adapter: mysql
          host: #{db_host}
          username: #{db_user}
          password: #{db_pass}
          database: #{db_name}
        EOF

        run "mkdir -p #{shared_path}/config"
        put database_configuration, "#{shared_path}/config/
database.yml"
      end

On Jul 20, 2:35 pm, djsodom <[EMAIL PROTECTED]> wrote:
> Hi I'm updating my capistrano recipes to work with 2.0. (By the way,
> I'm really liking the Capfile configuration technique.)
>
> One place I'm stuck is where I write my database.yml file:
>
> Previously, I had something like:
>
> def write_database_yaml #, :roles => :app do
>   # generate database configuration
>   database_configuration = render :template => <<-EOF
> <..snip..>
>   EOF
>   put database_configuration, "#{aws('current_release')}/config/
> database.yml", :mode => 0664
>   sudo "chown -R #{aws('user')}:#{aws('group')}
> #{aws('current_release')}/config/database.yml"
> end
>
> that worked fine.
>
> With "render" no longer working, I'm trying ERB things like:
>
> def write_database_yaml #, :roles => :app do
>   # generate database configuration
>   template = %q{
>     defaults: &defaults
>     <..snip ..>
>   }
>   database_configuration = ERB.new(template).result(binding)
>   put database_configuration, "#{aws('current_release')}/config/
> database.yml", :mode => 0664
>   sudo "chown -R #{aws('user')}:#{aws('group')}
> #{aws('current_release')}/config/database.yml"
> end
>
> Any suggestions on how to make this work? The above gives me a: "
> uploading failed: No such file"
>
> thanks,
>
> Steve Odom


--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/capistrano
-~----------~----~----~----~------~----~------~--~---

Reply via email to