¿Sigue vivo este grupo?
Sería estupendo, por que he retomado Ror y la verdad es que a penas
conozco a nadie que me pueda echar una mano.
Gracias a Imobach, intento implementar una nueva funcionalidad en un
proyecto que tengo desde hace año estancado, se llama "comentarios".
Intento crear un formulario que sirva para escribir un comentario. Así
de sencillo, pero no puedo.
En el archivo routes.rb
resources :comments
#he añadido este código que he visto por internet....en un ejemplo
parecido...
resources :designs do
resources :comments
end
En el formulario de la vista del post (timeline/show.html.erb):
<%= semantic_form_for ([@design, @design.comments.build]) do
|formulario| %> #Esto lo he sacado del mismo ejemplo de internet.... no
acabo de entender.....
<%= formulario.text_field :title %>
<%= formulario.text_field :body %>
<%= formulario.submit %>
<% end %>
Archivo comments_controller.rb:
class CommentsController < ApplicationController
def create
@design = Design.find(params[:design_id])
@user = current_user.id
@comment = @design.comments.create(params[:comment]) #Haciendo
esta llega el design_id, pero no el user_id.
@comment = current_user.comments.create(params[:comment]) # Con
esta línea, llega el user_id, pero no llega el design_id
redirect_to timeline_path(@design)
end
end
pd. Tampoco conozco la diferencia entre el método
@design.comments.create() y el método @design.comments.new() pero
alguien recomienda el último, lo probé y parece que no llega nada al a bbdd.
Cualquier tipo de ayuda u orientación lo agradezco,
Muchas gracias,
Carlos
car...@awwa.es
@comment = @design.comments.create(params[:comment].merge({user_id: current_user.id}))@comment = @design.comments.new(params[:comment])
@comment.user = @user
@comment.save
Con el save puedes controlar si se ha guardado correctamente, si el modelo tiene validaciones, etc.
Ya nos contarás que tal te ha ido!--
Has recibido este mensaje porque estás suscrito al grupo "Las Palmas On Rails" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a las-palmas-on-r...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a las-palma...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/las-palmas-on-rails.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a las-palmas-on-rails+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a las-palma...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/las-palmas-on-rails.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
--Atentamente:
Ángel García Pérez.
--
Has recibido este mensaje porque estás suscrito al grupo "Las Palmas On Rails" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a las-palmas-on-rails+unsub...@googlegroups.com.
Les agradezco mucho la ayuda, especialmente a ti Ángel.
Aprovecho para realizar otra consulta:
Ahora quiero dar la opción a ese usuario a borrar sus comentarios, tengo algo así en la vista:
<p><%= link_to "Eliminar post", design_comment_path(@design, comment), method: :delete %></p>
La primera duda la tengo aquí, necesito que cuando se borre se dirija a la misma vista que sería el show de diseño (/designs/show.html.erb)
Y esta es la acción (función destroy) del controlador Comments:
Advierto que lo he pillado por internet y no entiendo todo lo que he puesto...agradezco cualquier aclaración !
def destroy
@design = Design.find(params[:design_id])
@comment = Comment.find(params[:id])* Parece que no funciona, sigo borrando todos los comentarios...no sólo los mios.....
if @comment.user.id == current_user.id #comprobar que el usuario es dueño de su comentario antes de poderlo borrar....
@comment.destroy
else
flash.now[:danger] = "No puedes borrar este mensaje"
end
respond_to do |format|
format.html { redirect_to design_comments_path(@design) }
format.xml { head :ok }
end
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a las-palmas-on-r...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a las-palma...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/las-palmas-on-rails.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
--Atentamente:
Ángel García Pérez.
--
Has recibido este mensaje porque estás suscrito al grupo "Las Palmas On Rails" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a las-palmas-on-r...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a las-palma...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/las-palmas-on-rails.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
--
Has recibido este mensaje porque estás suscrito al grupo "Las Palmas On Rails" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a las-palmas-on-r...@googlegroups.com.