HAS_MANY BELONGS_TO noobie question

Hey,

I made my authentication system using Authlogic, and I have a current_user helper

Now, I also made a scaffold called posts, and everytime a user creates a post using that scaffold, i want it to be assigned to that particular user.

So i can render out the posts that ONLY that user made.

Now, the question is what to do in the forms, and what to do in the posts controller.

Right now, I already have a has_many belongs_to relationship between the too, but i dont know where to go next. What do i have to chnage in the posts controller? What is my post form supposed to look like in order for it to be associated with the current_user?

AWww ive been trying to get my mind around this, but i can't. i need help. really bad.

Someone please help. please!!

Hey David,

It’s really pretty easy and straightforward. In your PostsController:

def create @post = current_user.posts.build(params[:post]) if @post.save # … else # … end end

Also in your PostsController, to list posts only from current_user:

def index @posts = current_user.posts end

If you want your show method to only look for posts from current_user:

def show @post = current_user.posts.find(params[:id]) end

/Lasse

horrah! thanks so much, it was the @post = current_user.posts.build(params[:post]) that i was stuck on

And now, i get it. and now it works. ur a life saver, thanks so much !!!!

Oh, thanks that relaly helped, but one more thing-

If i assigned posts to anotherposts, through a has_many :anotherposts and belongs_to :posts relationship, how would i do @post = current_user.posts.build(params[:post]) in this situation? Because i dont have the current_user helper anymore, because we are not dealing with users, but with the post that i want to create anotherposts ontop of.

so basically instead of the current_user helper, i want to use the post that the anotherposts is being created on.

Do you understand? Hit me with more questions if you want :slight_smile:

I really need help, this shouldn't be difficult at all. Just a minor switch, that i can't get my mind around. Hope you can help! thanks!!

bump... :slight_smile: i really need help guys.