acaba de intentar escribir un validates_presence_of simple en mi modelo, y cuando los errores intentan hacer, llama a esto:¿Falta plantillas de la nueva aplicación Rails 3?
Template is missing
Missing template posts/create with {:locale=>[:en, :en], :handlers=>[:builder, :rjs, :erb, :rhtml, :rxml, :haml], :formats=>[:html]} in view paths "/Users/johnsmith/Sites/shwagr/app/views"
errores no tienen vistas separadas en Rails3 ¿verdad? Pensé que eso era magia de Rails.
Curiosidad si alguien tenía este problema, o si sabía cómo validarlo correctamente.
Mi Modelo:
validates_presence_of :category, :name, :url
Mi controlador:
def new
@post = Post.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @post }
end
end
def create
@post = Post.new(params[:post])
if @post.valid? && current_user.posts << @post
respond_to do |format|
if @post.save
format.html { redirect_to(@post, :notice => 'Post was successfully created.') }
format.xml { render :xml => @post, :status => :created, :location => @post }
else
format.html { render :action => "new" }
format.xml { render :xml => @post.errors, :status => :unprocessable_entity }
end
end
end
end
actualización
interesante, 'toque app/views/posts/create.html.haml', y ahora eliminó el error y en su lugar carga esa página. ¿Pero por qué? O, lo que es más importante, ¿cómo puedo hacer que vuelva a redirigirse al new_post_path (@post) como debería?
No..I tienen un _form/editar/index/nueva/mostrar ..Y este vino con la forma en que era .. = form_for @post hacer | f | -if @ post.errors.any? #errorExplanation % h2 = "# {pluralize (@ post.errors.count," error ")} prohibió que se guarde esta publicación:" % ul - @ post.errors.full_messages.each do | msg | % li = msg Necesita algo más? – Trip
Algo extraño, creo que está pasando aquí. Porque la validación 'funciona' desde el primer momento en Rails. Actualicé cómo se ven mis modelos arriba. – Trip
OK. Por favor edite su pregunta para mostrarnos el código del controlador. –