Rails 3: ¿Cómo agregar user_id – current_user.id assotiations?

Tengo esta parte del código:

def create @post = Post.find(params[:post_id]) @comment = @post.comments.create(params[:comment]) redirect_to post_path(@post) end 

http://guides.rubyonrails.org/getting_started.html#generating-a-controller

Pero tengo una columna más “user_id” en mi tabla de comentarios. ¿Cómo puedo asociar user_id con current_user.id?

PD. Tengo ejemplo de trabajo en mi aplicación:

 @post = Post.new(params[:post]) @post.user_id = current_user.id 

Yo diría algo como esto.

 @comment = @post.comments.build(params[:comment]) @comment.user_id = current_user.id @comment.save 

podría poner el user_id en los parámetros pero eso no sería seguro. user_id no debería estar en ‘attr_accessable’ para que esté protegido por mass_assignment.

Podrías hacer lo anterior en una sola línea, pero personalmente no me gusta eso. Pienso así, está más claro. Si desea tener un manejo de errores, puede hacer el guardado de esta manera.

 if @comment.save # success else # error end 

Prueba esto:

 @comment = @post.comments.create(params[:comment].merge(:user => current_user))