Salve a tutti,
solito problema di campo nascosto che non mi viene salvato nel db ma in
Rails si tratta di questi dettagli per far funzionare le cose [lo so
esiste già’ un post su questo ma avendolo letto sono arrivato qua oltre
non riesco ad andare]
allora ho l’oggetto post che nella vista app/views/posts/show.htlm.erb
ha questo form
<%= form_for @comment do |f| %>
<%= render ‘shared/error_messages’, :object => f.object %>
<%= f.hidden_field :post_id, :value => @post.id %>
<%= f.text_area :text %>
<%= f.submit "Submit" %>
<% end %>
mentre nel controller posts_controller.rb ho
def show
@post = Post.find(params[:id])
@comment = Comment.new
end
e per gli oggetti post e comment ho quanto segue
post
title:string, text:text
comment
post_id:integer, text:text
quindi anche se nella pagina web ho il value 2 per il post questo non mi
viene memorizzato e precisamente ho:
grazie in anticipio per il tempo che dedicherete nella risposta
cordialmente,
C
Puoi postare il metodo che salva il commento?
Il 08/05/12 04:44, Cluter V. ha scritto:
eccolo
/////////////
class CommentsController < ApplicationController
before_filter :authenticate, :only => [:create, :destroy]
def create
@comment = current_user.comments.build(params[:comment])
if @comment.save
flash[:success] = “Comment created!”
redirect_to root_path
else
render ‘pages/home’
end
end
def destroy
end
end
///////////
Ciao a tutti (ricordo che sono un autodidatta),
ho trovato la soluzione guardando questo TUTORIAL:
nel controller app/controller/comments_controller.rb ho modificato il
metodo create cosi’
def create
@post = Post.find(params[:post_id])
@comment = @question.comments.build(params[:comment])
@comment.save
redirect_to @post
end
nella view app/views/posts/show.htlm.erb invece ho inserito
<%= form_for [@post, @post.comments.build] do |f| %>
<%= f.text_field :text %>
<%= f.submit ‘insert comment’ %>
nella routes.rb ho messo come nel tutorial su indicato
resources :posts do
resources :comments
end
e nei modelli post e comment
class Comment < ActiveRecord::Base
belongs_to :post
end
class Post < ActiveRecord::Base
has_many :posts
end
a presto,
C