Ruby on Rails Friday, March 3, 2017

ok, i used pry.binding to look at the @remining variable and it's nil.

that why it's not working.    so the question is why is this the case when it has a value in the show section?

On Friday, March 3, 2017 at 12:34:01 PM UTC-5, Joe Guerra wrote:
ok, I added this piece of code...


  if @remaining == 1
# put some conditions around this @remaining == 0?
  Product.update(params[:product_id], :funded => true)
 
Cart.where(:product_id => params[:product_id]).update_all(:processing => true)
 
#
  end

in my add to cart method, where @remaining was defined in my show section.  It's not running in this cart method when the condition is met.

I can try outputting the value, and see what I get.


On Thursday, March 2, 2017 at 11:15:20 AM UTC-5, tamouse wrote:


On Thu, Mar 2, 2017 at 10:07 AM Joe Guerra <JGu...@jginfosys.com> wrote:
In my show method for my products controller I've got a variable that track qty ( @remaining ).

Can I access this variable from another method within the same controller?


Joe,

You *can* as it is an *instance variable*, but it will only be available for that instance of the controller (i.e., a single request). If you're calling other methods during that show request, the instance variable will be available. If you want to access it from another method that responds to a different request, it won't be set. You can also use this instance variable in any views resulting from the show method.

I hope this was clear enough...

Tamara

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/97a8a3e4-c6f6-43e4-a845-8e6eb7500eff%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment