Calling a models function via a link

Hey,

If i have a function in my model:
def mark_sold
self.update_attribute(:market_status, ‘sold’)
end

Is it possible for this to be called via an on page link?

Then I’d like to ajax it so a user could just scroll down a list
clicking all links to “mark as sold” as he comes across old inventory.

Thanks,
brianp

Quoting brianp [email protected]:

clicking all links to “mark as sold” as he comes across old inventory.

Browser requests always are to controller methods. Any other way you
are
fighting Rails’ MVC opinioned structure.

Add a method to a controller and the route to config/routes.rb:

def mark_sold
model = Model.find(params[:id])
model.mark_sold
render :partial => …, :object => model
end

The render should generate the HTML for the changed model instance that
the
AJAX will replace.

HTH,
Jeffrey

Thanks Jeffrey,

I had a good feeling this is how it needed to be done. But felt like I
was bloating my controller. Now I’m happy knowing I was originally
going in the right direction.

Thanks again.
brianp

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs