Estaba tomando la clase de Ruby on Rails y esta un poco desactualizada.
Se supone que creamos una web_app que tiene Tracks y Playlists, y que busca canciones en Spotify
2 cambios geneales (hasta donde yo he estudiado)
Para resolver el primer issue, Antes de que hagan sus consultas a RSpotify, saquen sus llaves de la aplicacion
En su archivo /config/application.yml las agregan con este formato:
development: spotify_client_id: aaabbbbaaaaabbbbb
spotify_client_secret: aaaaabbbbbaaaaabbbb
y en el archivo /config/application.rb dentro de la clase Application agregan la siguiente linea. 😄
RSpotify::authenticate(ENV['spotify_client_id'] , ENV['spotify_client_secret'])
Reinicien su rails server y ya con eso les deben funcionar las consultas a spotify.
Ahora para Heroku
tienen que tener instalado pg (y estar usando postgresql en su entorno de development, creo que asi es mas facil)
para esto pueden usar este pequeno tutorial que agregue en mi datavase.yml -de la ayuda de ubuntu 😄
Alternative Postgress Setup on ubuntu
#If you don’t intend to connect to the database from other machines, this alternative setup may be simpler.
#Since the only user who can connect to a fresh install is the postgres user, here is how to create yourself a database account (which is in this case also a database superuser) with the same name as your login name and then create a password for the user:sudo -u postgres createuser --superuser $USER sudo -u postgres psql postgres=# \password $USER
#for this line i actually used
postgres=# \password nyli
#becaus thats my user in ubuntu
#Client programs, by default, connect to the local host using your Ubuntu login name and expect to find a database with that name too. So to make things REALLY easy, use your new superuser privileges granted above to create a database with the same name as your login name:\q sudo -u postgres createdb $USER
#Connecting to your own database to try out some SQL should now be as easy as:psql
Continuamos
En su archivo /config/application.yml pueden agregar la contrasenia debajo de las ids de spotify asi:
development: spotify_client_id: aaabbbbaaaaabbbbb
spotify_client_secret: aaaaabbbbbaaaaabbbb
psql_password: ababababababababapassword
Y en databases.yml agregar al grupo development:
username: nyli
#The password associated with the postgres role (username).
password: <%= ENV[‘psql_password’] %>
y el el mismo archivo agregan production values
production:
<<: *defaultdatabase: musicapp_prod
url: <%= ENV['DATABASE_URL'] %>
ohh, solo faltaria guardar los archivos, ejecutar en la terminal
rake db:setup
y reiniciar el server!
------- Asi quedaria listo su ambiente de Development!!!
Para Heroku, crean una applicacion -puede ser desde la pagina principal- pueden usar el metodo de Fer que dijo en as clases o https://devcenter.heroku.com/articles/git heroku material
agregan la applicacion a git remote
pero, antes de hacer el git push heroku master
van a crear las variables de entorno que ocupamos en Application.rb… porque heroku las va a necesitar para el deployment.
asi que pueden ir a https://devcenter.heroku.com/articles/config-vars para ver como se hace desde cli.
lo mas facil es ir a MusicAppHeroku > settings > config variables
y ahora si ya pueden correr (o volver a correr como en mi caso)
git push heroku master
y tambien
heroku run rake db:migrate
kudos! 😄 tambien pueden ver el codigo aqui https://github.com/NyliStanwood/ruby-on-rails-pl-projects
Marilyn Stanwood