2 "newbie questions"

Hello -

Being new to Ruby and Rails I am finding some hurdles that kind of slow my progress.

1. What is the difference between the 2 statements:

staff = Staff.find(params[:id]) and @staff = Staff.find(params[:id])

I find books and articles using either of them but I fail to grasp why this should be different

2. This piece of code does not work and I have no idea why:

controlller:

    @subscriber = Subscriber.new(params[:subscriber])     @subscriber.activate     @subscriber.save

the function activate is defined in the model:   def activate     @active = 1   end

(active beeing one of the row of the table).

Result: this does not set active to 1. If in my controller I set @subscriber.active = 1 then it works and the row is saved with active set to 1.

Thanks for your help !!!

Thanks for the answer. I know understand about the scope thing. I've tried using "active = 1" in my model but this still does not work. Any further idea?

On the model:

try this:

def activate   self.active = 1   self.save #you might even remove this, not sure end

or, if it does not work, you can always use

def activate(user_id)   user = User.find_by_id(user_id)   user.active = 1 end

and then in the controller

User.activate(222) #or whatever the id is

Best regards,

Felipe

def activate   self.active = 1 end

-> This works! Many thanks Felipe!