Rails, saving the foreign key in a `belongs_to` association
I think I'm having a really basic problem here but I can't seem to put my finger on what I'm doing wrong.
So the issue here is when I save an instance of a model the foreign_key for the models's belongs_to association (in this case the user_id is not being saved, so I'm forced to do this:
def new
@thing = Thing.new(:user_id => current_user.id)
end
def create
@thing = Thing.new(params[:thing])
@thing.user_id = current_user.id
if @thing.save
redirect_to @thing
else
render 'new'
end
end
Shouldn't the user_id get saved automatically if my model has this association?
class Thing < ActiveRecord::Base
belongs_to :user
end
The reason I'm having this issue in the first place is because the gem frien开发者_StackOverflow中文版dly_id has changed the way all of my ids work and now return the objects slug... pretty annoying in my opinion.
I would try @thing.user = User.find(current_user.id) instead in your controller. Have you also got the has_many :things association declared in your user model?
加载中,请稍侯......
精彩评论