#1
@message= @bunker.messages.create(params[:message])
#2
@message = @bunker.messages.create(
{:user_id=>session[:user_id],
:message=>params[:message]}
)
Refactorings
No refactoring yet !
steved
April 3, 2011, April 03, 2011 23:02, permalink
# Assume your Message class has columns user_id and message?
# create() takes a hash so presumambly:
params.inspect # => { "message" => {"message" => "msg from form"}, "other" => "params", ...}
# your #1 is really
@message= @bunker.messages.create(:message => "msg from form")
# your #2 is really
@message = @bunker.messages.create(
{:user_id=>session[:user_id],
:message=>{"message" => "msg from form"}}
)
# what you want
@message = @bunker.messages.create(
{:user_id=>session[:user_id],
:message=>params[:message][:message]
)
I'm simply trying to insert: session[:user_id] along with a :message which is posted from a simple form.
#1 works out fine, but does not insert the :user_id of course.
#2 Also works, inserts the :user_id BUT also adds: "--- message:" into the database in front of whatever string was submitted.
Can someone explain to me whats going on, or how to resolve this issue, so I can simply insert my :user_id from the session into the database.
It's driving me crazy.