Feeds : Apuntes de Rails: Amaia Castro


      view feed content Cierre del plazo de inscripción para la Conferencia Rails 2008 (Apuntes de Rails: Amaia Castro)   32 d and 2 h ago

Como la mayoría ya sabréis, la Conferencia Rails 2008 será los próximos días 13 y 14 de noviembre en Madrid, en la Escuela de Teleco.

Para cerrar temas de catering, sobre todo para la cena del jueves, desde el equipo de organización necesitamos cerrar las inscripciones y los pagos el próximo día 5 de noviembre (el día 5 tendría que estar ya el pago en nuestra cuenta), para que de tiempo a organizarlo todo.

Así que si vas a venir y todavía no te has apuntado, ¿a qué esperas? Ya sabemos que estas cosas se suelen dejar para el final, pero necesitamos tener cerrado el número de asistentes cuanto antes.

Si lo que pasa es que no lo tienes claro puedes mirar el calendario de charlas y terminar de convencerte de que no te lo puedes perder ;)


[conferenciarails conferenciarails2008 ]
View original post|Add to del.icio.us | Share

      view feed content Cierre del plazo de inscripción para la Conferencia Rails 2008 (Apuntes de Rails: Amaia Castro)   32 d and 2 h ago

Como la mayoría ya sabréis la Conferencia Rails 2008 será los próximos días 13 y 14 de noviembre en Madrid, en la Escuela de Teleco.

Para cerrar temas de catering, sobre todo para la cena del jueves, desde el equipo de organización necesitamos cerrar las inscripciones y los pagos el próximo día 5 de noviembre (el día 5 tendría que estar ya el pago en nuestra cuenta), para que de tiempo a organizarlo todo.

Así que si vas a venir y todavía no te has apuntado, ¿a qué esperas? Ya sabemos que estas cosas se suelen dejar para el final, pero necesitamos tener cerrado el número de asistentes cuanto antes.

Si lo que pasa es que no lo tienes claro puedes mirar el calendario de charlas y terminar de convencerte de que no te lo puedes perder ;)


[conferenciarails conferenciarails2008 ]
View original post|Add to del.icio.us | Share

      view feed content Migrar los repositorios svn a otro servidor (Apuntes de Rails: Amaia Castro)   [3 views] 3 months ago

Ya sé que lo que más mola ahora es Git, pero de momento en Dabne seguimos manteniendo nuestro repositorios de código en Subversion, mientras vamos trasteando con Git y valorando si cambiar del todo o seguir con un híbrido de svn + git.

El caso es que esta semana he tenido que mover los repos a un nuevo servidor y así es cómo lo he hecho.

En el servidor donde están los repos hay que hacer un 'dump' de cada uno de ellos, copiarlos al servidor 2, y cargarlos en un repo nuevo recién creadito.

Sería así:

serv1$ svnadmin dump nombre_repo > nombre_repo.dump

Se copian los ficheros .dump al servidor 2 y se hace:

serv2$ svnadmin create nombre_repo serv2$ svnadmin load nombre_repo < nombre_repo.dump

Como tenía varios he probado a hacerlo con un scriptcillo en ruby directamente desde la línea de comandos:

serv1$ ruby -e "Dir.foreach('.'){|x| system \"svnadmin dump #{x} > #{x}.dump\"}" serv2$ ruby -e "Dir.glob('*.dump'){|x| system \"svnadmin create #{x.split('.')[0]} \"}" serv2$ ruby -e "Dir.glob('*.dump'){|x| system \"svnadmin load #{x.split('.')[0]} < #{x} \"}"

Si la url del repositorio cambia luego en cada copia de trabajo hay que ejecutar:

$ svn switch —relocate url_antigua url_nueva

Cuidado con lo que va delante de relocate que son dos -, no uno de esos largos.

Esta vez he configurado el acceso a los repositorios con apache2 por https, pero eso queda para otro post.


[subversion svn ]
View original post|Add to del.icio.us | Share

      view feed content Recuperar contraseñas con restful_authentication (Apuntes de Rails: Amaia Castro)   [3 views] 7 months ago

Continuación del post anterior para recuperar las contraseñas olvidadas.

Crear una migration para añadir un campo reset_code al modelo User

$ script/generate migration password_reset_code class PasswordResetCode < ActiveRecord::Migration def self.up add_column "users", "password_reset_code", :string, :limit => 40 end def self.down remove_column "users", "password_reset_code" end end

Añanir los siguientes métodos a app/models/user.rb

def forgot_password @forgotten_password = true self.make_password_reset_code end def reset_password # First update the password_reset_code before setting the # reset_password flag to avoid duplicate email notifications. update_attributes(:password_reset_code => nil) @reset_password = true end def recently_reset_password? @reset_password end def recently_forgot_password? @forgotten_password end protected def make_password_reset_code self.password_reset_code = Digest::SHA1.hexdigest( Time.now.to_s.split(//).sort_by {rand}.join ) end

Crear los modelos user_notifier.rb y user_observer.rb

# app/models/user_observer.rb class UserObserver < ActiveRecord::Observer def after_save(user) UserNotifier.deliver_forgot_password(user) if user.recently_forgot_password? UserNotifier.deliver_reset_password(user) if user.recently_reset_password? end end # app/models/user_notifier.rb class UserNotifier < ActionMailer::Base def forgot_password(user) setup_email(user) @subject += 'Contraseña olvidada' @body[:url] = "#{HOST}/passwords/reset_password/#{user.password_reset_code}" end def reset_password(user) setup_email(user) @subject += 'Su contraseña ha sido reseteada.' end protected def setup_email(user) @recipients = "#{user.email}" @from = "notifier@midominio.com" @subject = "[midominio.com] " @sent_on = Time.now @body[:user] = user end end

En app/views/user_notifier/ crear los ficheros forgot_password.html.erb y reset_password.html.erb

# app/views/user_notifier.html.erb <%= @user.login %>, pinche en el enlace para resetear su contraseña <%= @url %> # app/views/user_notifier.html.erb <%= @user.login %>, su contraseña ha sido reseteada.

En config/environment.rb añadir el observer:

# Activate observers that should always be running # config.active_record.observers = :cacher, :garbage_collector config.active_record.observers = :user_observer

Crear un controlador para gestionar las contrseñas olvidadas y los reseteos:

# app/controllers/passwords_controller.rb class PasswordsController < ApplicationController skip_filter :login_required def forgot_password return unless request.post? if @user = User.find_by_email(params[:email]) @user.forgot_password @user.save redirect_to(login_path) flash[:notice] = "Hemos envíado un enlace para resetear la contraseña a su correo electrónico." else flash[:error] = "No se ha encontrado ningún usuario con esa dirección de correo electrónico." end end def reset_password return unless request.post? @user = User.find_by_password_reset_code(params[:id]) if params[:id] if @user.nil? flash[:error] = "Código inválido." return end return if @user unless params[:password] begin if (params[:password] == params[:password_confirmation]) @user.password_confirmation = params[:password_confirmation] @user.password = params[:password] @user.reset_password @user.save! flash[:notice] = "Su contraseña ha sido reseteada, ya puede entrar con la nueva contraseña." redirect_back_or_default(login_path) else flash[:error] = "Las contraseñas no coinciden." end rescue ActiveRecord::RecordInvalid flash[:error] = "Por favor introduzca información válida." end end end

En app/views/passwords/

# app/views/passwords/forgot_password.html.erb

¿Olvidó su contraseña?

<% form_tag url_for(:action => 'forgot_password') do %>

Correo electrónico:
<%= text_field_tag :email, "", :size => 50 %>

<%= submit_tag 'Recuperar contraseña' %>

<% end %> # app/views/passwords/reset_password.html.erb

Resetear contraseña

<% form_tag url_for(:action => "reset_password") do %>

Contraseña:
<%= password_field_tag :password %>

Confirmar contraseña
<%= password_field_tag :password_confirmation %>

<%= submit_tag "Resetear contraseña" %>

<% end %>
[rails2 restfulauthentication tutoriales ]
View original post|Add to del.icio.us | Share

      view feed content Mostrando el contenido del flash en Rails de forma compacta (Apuntes de Rails: Amaia Castro)   [1 views] 7 months ago

No me acuerdo de dónde lo copié la primera vez, pero desde entonces ha ido pasando siempre de un proyecto a otro, porque es la forma más elegante que he encontrado de hacerlo. Ahí va:

En app/views/layouts/application.html.erb:

<% flash.each do |key, msg| -%> <%= content_tag :div, msg, :class => key, :id => 'flash' %> <% end -%>

Esto crea un div con id flash y class la clave del hash, que normalmente será error o notice.

Luego en la css pones los estilos correspondientes y ya queda mucho mejor.

#flash { padding: 0.5em; font-weight: bold; } .notice { background-color: #fff; color: #333; border: 1px solid green; } .error { background-color: #ff6666; color: #333; border: 1px solid red; }

View original post|Add to del.icio.us | Share

      view feed content Autenticación de usuarios con restful_authentication (Apuntes de Rails: Amaia Castro)   [7 views] 7 months ago

Pasos para crear una aplicación rails con autenticación de usuarios.

Crear la aplicación rails:

$ rails myapp $ cd myapp

Instalar el plugin restful_authentication:

$ script/plugin install http://svn.techno-weenie.net/projects/plugins/restful_authentication/

Generar el sistema de autenticación:

$ script/generate authenticated user session $ rake db:migrate

En config/routes.rb añadir lo siguiente antes de las rutas por defecto (las dos últimas)

map.resources :users map.resource :session map.signup '/signup', :controller => 'users', :action => 'new' map.login '/login', :controller => 'session', :action => 'new' map.logout '/logout', :controller => 'session', :action => 'destroy'

En app/controllers/application_controller.rb poner la línea siguiente, que viene en los controladores user_controller.rb y session_controller.rb que ha creado el plugin.

include AuthenticatedSystem

Poniendolo en application_controller.rb hacemos que la autenticación esté disponible para todos los controladores.

Ahora en los controladores para los que queramos restringir el acceso a usuarios autenticados tendremos que poner un filtro:

before_filter :login_required

A este filtro le podemos poner parámetros para indicarle que sólo se aplique a algunas acciones o que se aplique a todas excepto a algunas, por ejemplo:

before_filter :login_required, :only => [:create, :destroy] before_filter :login_required, :except => [:index, :show]

En mi caso últimamente es habitual que necesite controlar el acceso a toda la aplicación salvo a unas pocas acciones por lo que pongo el before_filter en application_controller.rb y luego pongo un skip_before_filter donde sea necesario, que en este caso es en users_controller.rb y session_controller.rb para permitir crear nuevos usuarios y hacer login, que en realidad es crear una nueva session. Por tanto en estos dos controladores pongo:

skip_before_filter :login_required, :only => [:new, :create]

Si además hay una portada de la aplicación pública también habrá que aplicarle esto.

Para hacer que el registro sea con activación de usuarios por email, ver este otro post.


[restfulauthentication tutoriales ]
View original post|Add to del.icio.us | Share

      view feed content Bogofilter y Evolution en Ubuntu 7.10 (Apuntes de Rails: Amaia Castro)   [2 views] 8 months ago

Ayer, entre caja y caja, estuve actualizando la Ubuntu de mi pc de sobremesa de la 7.04 a la 7.10 y ya con la 7.10 Gutsy Gibbon funcionando me di cuenta que bogofilter, el filtro antispam que tenía funcionando antes en Evolution no estaba funcionando, ni siquiera actualizaba la bd de aprendizaje.

Después de googlear un poco y ver este bugreport me acorde que cuanod lo había instalado en el portátil, que ya tenía Ubuntu 7.10, además de los pasos normales, había tenido que activar el plugin de antispam en Editar -> Preferencias -> Opciones de Correo -> Spam.

En la versión anterior sólo había que instalar el paquete bogofilter (sudo apt-get install bogofilter), activar el plugin de bogofilter en Evolution y desactivar el de spamassasin para que no generara conflictos ( en Editar -> Complementos), reiniciar Evolution y emnpezar a enseñarle qué mensajes son spam marcándolos como tal. También hace falta marcar alguno como no spam para que empiece a aprender, yo para esto marqué algunos mensajes que no eran spam como spam y luego desde la carpeta de spam los volví a marcar como no spam. Además al principio (unos días) hay que revisar la carpeta de spam para localizar falsos positivos y marcarlos como no spam para que aprenda. Bogofilter aprende rápidoy después de unos días ya no suele falsos positivos.


[710 bogofilter ubuntu ]
View original post|Add to del.icio.us | Share

      view feed content Cambiar el tamaño por defecto de los text_field y text_area (Apuntes de Rails: Amaia Castro)   [2 views] 8 months ago

Por fin he descubierto cómo se cambia el tamaño por defecto de los text_field y los text_area en Rails:

ActionView::Helpers::InstanceTag::DEFAULT_FIELD_OPTIONS = { "size" => 80 } ActionView::Helpers::InstanceTag::DEFAULT_TEXT_AREA_OPTIONS = { "cols" => 80, "rows" => 10 }

Así en vez de modificar los tamaños de los campos uno a uno en los formularios puedo poner por defecto en el environment el valor que más uso y sólo especificarlo en las excepciones.

Llevaba tiempo buscándolo :)


[actionview form rails ]
View original post|Add to del.icio.us | Share

      view feed content Programación ágil con Ruby on Rails (Apuntes de Rails: Amaia Castro)   10 months ago

Se nos había pasado, poner por aquí, el último artículo que publicamos hace unas semanas en la revista de Sólo Programadores sobre Ruby on Rails donde explicamos como hacer una sencilla aplicación de encuentros digitales.

"La aplicación que vamos a desarrollar a lo largo del artículo sirve para gestionar encuentros digitales. Como es sabido, los encuentros digitales se organizan en sitios web, y permiten a los visitantes formular preguntas que, en un día y hora señalados, serán respondidas por un única persona, habitualmente famosa. Finalizado el encuentro, la lista de preguntas y respuestas queda disponible para su posterior lectura. Por regla general las preguntas son filtradas o moderadas, según su pertinencia, y solo pueden ser respondidas por el famoso/a en cuestión."

Se puede descargar el pdf de la web de Dabne.


[articulos rails revistas ]
View original post|Add to del.icio.us | Share

      view feed content Orden por defecto de los elementos de una asociación (Apuntes de Rails: Amaia Castro)   10 months ago

Un ejemplo:

Tenemos talleres de formación y para cada taller puede haber varias sesiones en diferentes fechas.

class Sesion < ActiveRecord::Base belongs_to :taller end

class Taller < ActiveRecord::Base has_many :sesiones, :order => 'fecha'
end

Así cuando hagas @taller.sesiones, por defecto estarán ordenadas por fecha.


[activerecord rails ]
View original post|Add to del.icio.us | Share

      view feed content Rake task para generar diagramas con RailRoad (Apuntes de Rails: Amaia Castro)   [1 views] 11 months ago

Hoy estaba usando RailRoad para generar los diagramas de modelos y de controladores de un proyecto Rails en el que estoy trabajando y he visto que en la página de RailRoad venía el código (gracias a Thomas Ritz) de una tarea rake que genera los diagramas en svg y los deja en el directorio doc de la aplicación.

Como también quería que generase los diagramas en png la he modificado para que los incluya. Queda así (lib/tasks/diagrams.rake):

# Rake task tomada de la página de Railroad (http://railroad.rubyforge.org/) # Gracias a Thomas Ritz por el código (http://www.galaxy-ritz.de/) # Modificada por Amaia Castro (amaia@dabne.net) para incluir la generación de # diagramas en png. namespace :doc do namespace :diagram do task :models do sh "railroad -i -l -a -m -M | dot -Tsvg | sed 's/font-size:14.00/font-size:11.00/g' > doc/models.svg" end task :models_png do sh "railroad -i -l -a -m -M | dot -Tpng | sed 's/font-size:14.00/font-size:11.00/g' > doc/models.png" end task :controllers do sh "railroad -i -l -C | neato -Tsvg | sed 's/font-size:14.00/font-size:11.00/g' > doc/controllers.svg" end task :controllers_png do sh "railroad -i -l -C | neato -Tpng | sed 's/font-size:14.00/font-size:11.00/g' > doc/controllers.png" end end task :diagrams_svg => %w(diagram:models diagram:controllers) task :diagrams_png => %w(diagram:models_png diagram:controllers_png) task :diagrams => %w(diagram:models diagram:models_png diagram:controllers diagram:controllers_png) end

Para que funcione hay que tener instalada la gem railroad y en Ubuntu (y otros linux supongo) el paquete graphviz, que es el que contiene dot y neato, para hacer la conversion de DOT a svg o png.

Luego en nuestra aplicación rails ejecutar rake doc:diagrams para generar todos los diagramas o rake doc:diagram:models para generar el de modelos en svg, por ejemplo.


[rails rake ]
View original post|Add to del.icio.us | Share

      view feed content Error de SSL al instalar Rails (Apuntes de Rails: Amaia Castro)   11 months ago

Si al intentar instalar Rails en Ubuntu da un error como

$ sudo gem install rails ERROR: While executing gem ... (Gem::Exception) SSL is not installed on this system

es que hay que instalar libopenssl-ruby

$ sudo apt-get install libopenssl-ruby

Al menos así es como ha funcionado en mi viejo pc, al que le he regalado una instalación nuevecita de Rails por Navidad ;)


[rails ssl ]
View original post|Add to del.icio.us | Share

      view feed content RESTful authentication con activación de usuarios (Apuntes de Rails: Amaia Castro)   [4 views] 11 months ago

Esta mañana he estado pegándome con el plugin restful_authentication para que activase correctamente los usuarios. Por "suerte" Jaime estaba en las mismas y después de hablar un ratillo por jabber hemos conseguido que funcionase correctamente. Había que hacer un par de cosas que no están bien explicadas en la documentación del plugin y que hemos encontrado en los comentarios de la página del plugin en el directorio de plugins de agilewebdevelopment.com.

Dejo aquí apuntados los pasos para futura referencia.

Primero instalar el plugin:

$ script/plugin install http://svn.techno-weenie.net/projects/plugins/restful_authentication/

Crear los usuarios y las sesiones con activación de usuarios con el generador que trae el plugin:

$ script/generate authenticated user session —include-activation

Añadir las rutas necesarias en config/routes.rb, según el README del plugin:

map.resources :users map.resource :session, :controller => 'session' map.signup '/signup', :controller => 'users', :action => 'new' map.login '/login', :controller => 'session', :action => 'new' map.logout '/logout', :controller => 'session', :action => 'destroy'

Y una que no viene en la doc pero que es necesaria para que funcionen los links de activación enviados por email.

map.activate '/activate/:activation_code', :controller => 'users', :action => 'activate'

Configurar ActionMailer para que envíe correo. Poner las urls correctas para nuestra aplicación en app/models/user_mailer.rb. En lugar de ponerlas a pelo, se puede definir HOST en environment.rb con:

HOST = "localhost:3000"

y luego en app/models/user_mailer.rb poner:

@body[:url] = "#{$HOST}/activate/#{user.activation_code}"

Por último, no queremos que el usuario quede logueado al registrarse, si no ¿qué sentido tiene la activación? Para esto hay que comentar la línea que dice self.current_user = @user después de @user.save! en el método create de users_controller.rb:

def create cookies.delete :auth_token @user = User.new(params[:user]) @user.save! # No logueamos al usuario hasta que se haya validado #self.current_user = @user 'new' end
[rails restfulauthentication ruby ]
View original post|Add to del.icio.us | Share

      view feed content Rails 2.0 ya está aquí (Apuntes de Rails: Amaia Castro)   [2 views] 11 months ago

Ya se ha comentado hoy que Rails 2.0 estaba a punto, que ya había tag 200 y el milestone 2.0 ya se había completado.

Pues bien, hace un rato, David lo ha publicado en Riding Rails, el blog de Ruby on Rails. Corre a leerlo si quieres enterarte de todas las mejoras que tiene.

Y yo me acabo de bajar el pdf de Rails 2.0 de Peepcode gratis gracias a supercoco :)


[rails rails20 ]
View original post|Add to del.icio.us | Share

      view feed content rubygems lento. (Apuntes de Rails: Amaia Castro)   more than one year ago

Desde hace algún tiempo, tenia problemas actualizar las gemas en un servidor que tengo en slicehost. Finalmente, encontré la solución un blog. Instalando una versión beta de rubygems, se soluciona el problema:

gem update —system —source http://segment7.net/

Por lo visto, según cuentan en uno de los comentarios, ocurre por que la versión 0.9.4 se baja el indice YAML de las gemas tal cual, que ocupa unos 12Mb, mientras que las nuevas versiones se bajan un marshal del mismo.


[gems ruby ]
View original post|Add to del.icio.us | Share

      view feed content Más Hpricot para el Buscaboe (Apuntes de Rails: Amaia Castro)   [3 views] more than one year ago

Hoy me ha extrañado que el BuscaBoe, nuestro buscador de subvenciones, llevase varios días que no encontraba nada. Ya me pareció raro cuando lo ví el sábado, pero pensé que igual era por el fin de semana, que no habían publicado nada relativo a ayudas o subvenciones. Hoy he mirado la página del BOE para comprobarlo y resulta que han cambiado la estructura del html de la página del sumario, que es la que usa el BuscaBoe para buscar. La verdad es que ahora está mejor estructurada que antes, aunque todavía no acabe de estar bien.

Aprovechando que tenía que cambiar el patrón de búsqueda he decidido hacerlo con hpricot, que viene al pelo para estas cosas (antes usaba una expresión regular).

El meollo de la cuestión queda así con la nueva estructura:

def buscar(fecha) fecha_s = fecha.strftime("%Y/%m/%d") url = "http://boe.es/g/es/boe/dias/#{fecha_s}/sumario.php" boe = Hpricot(Iconv.iconv("UTF-8", "ISO-8859-1", open(url).read).join) dispos = boe.search("//li[@class='dispo']") n = boe.search("//p[@class='titSolapas']").first n.search("/abbr").remove n1 = n.inner_html numero = n1.scan(/( )(.*)(])/i).first[1] dispos.each_with_index do |d, i| enlace = d.search("//li[@class='puntoHTML']/a").first["href"] enlace.gsub!("../../../../../", "http://boe.es/g/es/") d.search("//div[@class='enlacesDoc']").remove texto = d.inner_html.chomp if texto.include?("ayuda ") || texto.include?("ayudas") || texto.include?("subvenci") doc = Hpricot(open(enlace)) sumario = doc.search("//div[@class='BoeSumarioBD']") seccion = sumario.at("h1").inner_html subseccion = sumario.at("h2").inner_html if !Entrada.find_by_enlace(enlace) Entrada.create(:fecha => fecha, :numero_boe => numero, :texto => texto, :enlace => enlace, :seccion => seccion, :subseccion => subseccion) end end # if texto end # dispos.each end #end buscar
[buscaboe hpricot rails ]
View original post|Add to del.icio.us | Share

      view feed content Presentaciones online de la Conferencia Rails 2007 (Apuntes de Rails: Amaia Castro)   [2 views] more than one year ago

Acabo de publicar en el blog de la empresa la presentación que hizo Carolina para nuestra ponencia en la Conferencia Rails 2007.

También dejo por aquí una recopilación de las demás presentaciones que he encontrado publicadas, iré actualizandola cuando encuentre más.


[conferenciarails conferenciarails2007 ]
View original post|Add to del.icio.us | Share

      view feed content Fin de la Conferencia Rails 2007 (Apuntes de Rails: Amaia Castro)   more than one year ago

Ayer por la tarde, a eso de las 9, nos fuimos los últimos. Han sido sido unos días intensos y he acabado hecha polvo pero he disfrutado mucho, ha sido una conferencia genial.

Empezamos el miércoles por la tarde con la última reunión de organización, luego nos fuimos parte del equipo de organización a cenar con Obie y Desi y nos lo pasamos tan bien que llegué a casa a las 3. Añade a eso dos días enteros de charlas y gente interesante y otra cena y ayer me tuve que ir a dormir a las 11. Para no perder ritmo, aunque hoy me he levamtado tarde, me he pasado el resto del día en BioCultura, para que luego digan que no aguanto ná ;)

De las charlas a las que asistí, las que más me han gustado han sido RoR también puede hablar: Interface de voz con Rails y Programa en Rails como si jugases con Lego, de la que Javier ya ha colgado el pdf.

Me perdí la de Marze para ver la de Joaquín y creo que tenía que haber hecho al revés, después de ver el resumen que ha publicado Marze, que por cierto es quien ha hecho todo el diseño de la web de la conferencia. También me perdí la de Inteligencia artificial porque coincidía con la mía

Menos mal que las podré ver en video :)

La que no sé si podré ver en vídeo es la de Jaime, sobre su araña Boris. Fui a la de Internacionalización en su lugar.

Jan hizo una presentación improvisada del proyecto FIT (Found in Translation), en el que Carolina y yo hemos empezado a trabajar hace un par de semanas.

Me gustó mucho la keynote de Obie sobre Rails 2.0, aunque me perdí el principio porque estábamos organizando lo de los premios de los concursos. La de empresas estuvo más floja por la propaganda de microsoft y la de sun, aunque las intervenciones de Alberto y Jaime estuvieron mejor. También nos reímos mucho en la mesa redonda de frameworks (gracias Marcos ;)

Aunque el viernes por la tarde ya no podía con mi alma, me he quedado con ganas de más, pero me temo que habrá que esperar hasta el año que viene.


[conferenciarails conferenciarails2007 ]
View original post|Add to del.icio.us | Share

      view feed content Instalando mongrel en Ubuntu 7.10 (Apuntes de Rails: Amaia Castro)   [2 views] more than one year ago

Con portatil nuevo, pues toca volver a instalar toooodo lo necesario en el día a día. Cómo instalar Rails ya lo contó Amaia hace meses, y ahora voy a contar como instalar mongrel que yo hasta ahora no lo había hecho, y me conformaba con webrick.

Lo necesario que hay que instalar en Ubuntu:

sudo apt-get install build-essential ruby1.8-dev

Luego instalamos el mongrel en sí mismo

sudo gem install mongrel

Ahi te empezará a hacer preguntas y yo le he contestado que si a todo.

Y con esto ya está listo pa arrancarlo con

mongrel_rails start -d

La opción -d es para que se quede el mongrel en segundo plano y liberar así la consola :-)

Y cuando queremos parar el mongrel ponemos

mongrel_rails stop

y si lo suyo es reiniciarlo pues... adivinarlo!! :-D

mongrel_rails restart
[mongrel rails ]
View original post|Add to del.icio.us | Share