Quiero convertir el título de una página en una URL amigable y almacenarlo en la base de datos como un enlace permanente. Mi problema es que no puedo usar el método parameterize
. No funciona. Otras inflexiones funcionan como upcase
o downcase
pero parameterize
no funciona. ¿Hay un caso especial para parameterize
?¿Cómo se usa parametrizar en Rails?
Este es mi código:
controlador:
def create
params[:page][:permalink] = params[:page][:title].dup
@page = Page.new(params[:page])
end
Modelo:
class Page < ActiveRecord::Base
before_save :makeitpermalink
before_update :makeitpermalink
private
def makeitpermalink
permalink.parameterize!
end
end
Bienvenido en SO, me alegra ver a los entusiastas de los rieles aquí. La próxima vez intente usar el formato del código y déle a su pregunta un título mejor para obtener respuestas. Acabo de editar tu publicación, pero para que lo sepas. Sobre la pregunta que no sé. ¿Podría proporcionar el mensaje de error o el resultado que está recibiendo? – marcgg
En el modelo, también solo necesita tener la devolución de llamada before_save; before_update es innecesario. – amaseuk
por cierto si tienes "before_save", "before_update" es redundante – choonkeat