Newbie q about saving data to mysql


#1

I have a two tables in my DB: users and products and I tried to set up a
foreign key relationship between the id field in user and a user_id
field in product.

Despite redoing my scaffold the user_id does not show up when I go to
create a new user. Is that normal?

More importantly, how can I save the user id of the logged in user to
the user_id field in my product table? Currently my create code looks
like this:

def create
warn @user.id
@product = Product.new(params[:product])
@product.id = @user.id
if @product.save
flash[:notice] = ‘Product was successfully created.’
redirect_to :action => ‘list’
else
render :action => ‘new’
end
end

PS: @warn.id is shows the correct ID of the logged in user so at least
that works…


#2

Ok, solved it.

Dumb mistake. Needed to add this:

 @product.user_id = @user.id

#3

You should also be able to say:

@product.user = @user

Which is more idiomatic rails.


– Tom M.