Hola gente, me doy la bienvenida a mi mismo a esta lista Espero poder
aprender y ayudar en lo que pueda aki
A ver, tengo un problemilla con rails que me tiene loco… a ver si
alguien sabe que me esta pasando.
Estoy intentando validar los campos de un formulario con los famosos
validates_presence_of y tal y que muestre los errores en el formulario
como lo hace por defecto rails, pero no hay manera. Cuando le doy a
crear, parece que detecta que hay un error y no puede guardar, pero no
me muestra los errores que me deberia mostrar la función
error_messages_for …
A ver si alguien intuye por donde pueden ir los tiros, porque estoy en
blanco… Comentar que en otros modelos lo he usado sin problemas, la
diferencia que este lo he creado a mano, y los otros con scallfold.
Modelo:
class Comment < ActiveRecord::Base
belongs_to :comic
validates_presence_of :nick, :email, :comment,
:message => l(:HOME_ERROR_COMMENT_CAMPO_VOID)
validates_format_of :email, :with =>
/^(\w)+(.\w)*@([\w-]+.)+[\w-]{2,4}$/,
:message => l(:HOME_ERROR_COMMENT_VALID_MAIL)
end
Controlador:
class CommentController < ApplicationController
def new
@comic = Comic.find(params[:idComic])
@comment = Comment.new
if (params[:context] == “tabs”)
render(:layout => false)
end
end
def create
@comment = Comment.new(params[:comment])
if @comment.save
flash[:notice] = l(:HOME_COMMENT_CREATED)
render_component(:controller => “comment”, :action => “new”,
:params => {:context => “tabs”, :idComic => @comment.idComic} )
else
render_component(:controller => “comment”, :action => “new”,
:params => {:context => “tabs”, :idComic => @comment.idComic} )
end
end
end
Vista con parcial incluido:
<%=error_messages_for ‘comment’ %>
<%= form_remote_tag :update => ‘body_info’,
:url => {:controller => ‘comment’, :action =>
‘create’ } %>
<%= flash[:notice] %>
<span id='ComicComentTitle'><%=l(:HOME_COMMENT_NEW) + "
" + @comic.titulo + “”%></
<p><span id='ComicCommentTituloCampo'><label
for=“comment_nick”><%= l(:HOME_COMMENT_NICK) %> *
<%= text_field ‘comment’, ‘nick’, :class => ‘campoTexto’
%>
<p><span id='ComicCommentTituloCampo'><%=
l(:HOME_COMMENT_EMAIL) %> *
<%= text_field ‘comment’, ‘email’, :class => ‘campoTexto’
%>
<p><span id='ComicCommentTituloCampo'><%=
l(:HOME_COMMENT_URL) %>
<%= text_field ‘comment’, ‘url’, :class => ‘campoTexto’
%>
<p><span id='ComicCommentTituloCampo'><%=
l(:HOME_COMMENT_COMMENT) %> *
<%= text_area ‘comment’, ‘comment’, :cols => 50, :rows =>
10, :class => ‘campoArea’ %>
<%= hidden_field 'comment', 'idComic', :value => @comic.id
%>
<%=
submit_tag l(:HOME_COMMENT_ADD), :class => ‘boton’ %>
<%= end_form_tag %>
A ver si alguie ve algo
Gracias de antemano
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com