Re: [Rails] help me debug this model

2018-03-27 Thread fugee ohu


On Tuesday, March 27, 2018 at 2:12:27 PM UTC-4, Walter Lee Davis wrote:
>
> Read the docs I linked you to, and if that doesn't explain it, then ask 
> the author of the code you're extending. It's possible that it is passing a 
> reference to a proc or lambda, but I have not seen that exact code before, 
> so I can only guess. 
>
> Walter 
>
> > On Mar 27, 2018, at 2:04 PM, fugee ohu  
> wrote: 
> > 
> > Thanks Walter And passing a symbol to message: how does that work? 
> > 
> > 
>
> I changed it to 
validate :auction_active?, message: self.errors
and now page loads without any errors

-- 
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+unsubscr...@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/174e8b7e-afc4-48fd-8288-511a2556f49a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Rails] help me debug this model

2018-03-27 Thread Walter Lee Davis
Read the docs I linked you to, and if that doesn't explain it, then ask the 
author of the code you're extending. It's possible that it is passing a 
reference to a proc or lambda, but I have not seen that exact code before, so I 
can only guess.

Walter

> On Mar 27, 2018, at 2:04 PM, fugee ohu  wrote:
> 
> Thanks Walter And passing a symbol to message: how does that work? 
> 
> 

-- 
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+unsubscr...@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/59801D36-D4F0-4032-920A-D16052AC3671%40wdstudio.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Rails] help me debug this model

2018-03-27 Thread fugee ohu


On Tuesday, March 27, 2018 at 11:44:54 AM UTC-4, Walter Lee Davis wrote:
>
>
> > On Mar 27, 2018, at 9:20 AM, fugee ohu  
> wrote: 
> > 
> > Actually the first thing is see when I visit that link is the use of 
> validate without the s 
>
> The validate method is used along with a custom validator method. The 
> validates method is "built in" and uses a DSL to specify how you want the 
> validations to work. 
>
> validate :has_a_bow_on_top? 
>
> private 
>
> def has_a_bow_on_top? 
>   unless bow&.on_top? 
> errors[:bow].add "must be on top" 
> false 
>   end 
> end 
>
> The built-in validates method is configured like this: 
>
> validates :bow, presence: true 
>
> This is a very basic example, there are lots more things you can do with 
> it. For all of our sakes, please read this entire page: 
> http://guides.rubyonrails.org/active_record_validations.html 
>
> Walter 
>
> > 
> > On Tuesday, March 27, 2018 at 6:54:34 AM UTC-4, Allen Maxwell wrote: 
> > It might help to have the models for auction and user... also, I like to 
> add the annotate gem which gives some header comments in all my models to 
> show what fields etc are there.  Very helpful info and references. 
> > 
> > you already know that the validate needs to be validates... 
> > 
> > is this an active system or SUD?  do you have a solid development 
> database that is well populated to test/develop against? 
> > 
> > this link may help some:  
> http://guides.rubyonrails.org/active_record_validations.html#custom-methods 
> > 
> > other than that I'd have to see it in action to debug further. 
> > 
> > Good luck 
> > 
> > Max 
> > 
> > On Monday, March 26, 2018 at 6:17:56 PM UTC-6, fugee ohu wrote: 
> > This model has some errors that I wasn't able to get sorted out the two 
> lines that begin with validate should be validates but after that I don't 
> understand what the author's trying to do If I change them to validates I 
> get the error Unknown validator: 'MessageValidator' for   validate 
> :auction_active?, message: :auction_active 
> > 
> > 
> > class Bid < ActiveRecord::Base 
> >   belongs_to :auction 
> >   belongs_to :user 
> > 
> >   validates :auction, :user, presence: true 
> >   validate :auction_active?, message: :auction_active 
> >   validate :last_user_different? 
> > 
> >   scope :sorted, -> { order(:created_at) } 
> > 
> >   after_create :update_auction 
> > 
> >   private 
> > 
> >   def auction_active? 
> > if auction && !auction.active? 
> >   if auction.finished? 
> > errors.add(:auction, :finished) 
> >   else 
> > errors.add(:auction, :not_started) 
> >   end 
> > end 
> >   end 
> > 
> >   def last_user_different? 
> > if auction && user 
> >   errors.add(:user, :same_user_twice) if auction.last_user == user 
> > end 
> >   end 
> > 
> >   def update_auction 
> > auction.increase_price_and_time 
> > auction.publish_updates 
> >   end 
> > end 
> > 
> > 
> > -- 
> > 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-ta...@googlegroups.com . 
> > To post to this group, send email to rubyonra...@googlegroups.com 
> . 
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/rubyonrails-talk/b8ab4f9b-1682-4006-8d91-8f2c556f34e6%40googlegroups.com.
>  
>
> > For more options, visit https://groups.google.com/d/optout. 
>
>
Thanks Walter And passing a symbol to message: how does that work? 

-- 
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+unsubscr...@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/53605b52-f944-48fe-9a04-54a2b629d9a5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Rails] help me debug this model

2018-03-27 Thread Walter Lee Davis

> On Mar 27, 2018, at 9:20 AM, fugee ohu  wrote:
> 
> Actually the first thing is see when I visit that link is the use of validate 
> without the s

The validate method is used along with a custom validator method. The validates 
method is "built in" and uses a DSL to specify how you want the validations to 
work.

validate :has_a_bow_on_top?

private

def has_a_bow_on_top?
  unless bow&.on_top?
errors[:bow].add "must be on top"
false
  end
end

The built-in validates method is configured like this:

validates :bow, presence: true

This is a very basic example, there are lots more things you can do with it. 
For all of our sakes, please read this entire page: 
http://guides.rubyonrails.org/active_record_validations.html

Walter

> 
> On Tuesday, March 27, 2018 at 6:54:34 AM UTC-4, Allen Maxwell wrote:
> It might help to have the models for auction and user... also, I like to add 
> the annotate gem which gives some header comments in all my models to show 
> what fields etc are there.  Very helpful info and references.
> 
> you already know that the validate needs to be validates...
> 
> is this an active system or SUD?  do you have a solid development database 
> that is well populated to test/develop against?
> 
> this link may help some:  
> http://guides.rubyonrails.org/active_record_validations.html#custom-methods
> 
> other than that I'd have to see it in action to debug further. 
> 
> Good luck
> 
> Max
> 
> On Monday, March 26, 2018 at 6:17:56 PM UTC-6, fugee ohu wrote:
> This model has some errors that I wasn't able to get sorted out the two lines 
> that begin with validate should be validates but after that I don't 
> understand what the author's trying to do If I change them to validates I get 
> the error Unknown validator: 'MessageValidator' for   validate 
> :auction_active?, message: :auction_active
> 
> 
> class Bid < ActiveRecord::Base
>   belongs_to :auction
>   belongs_to :user
> 
>   validates :auction, :user, presence: true
>   validate :auction_active?, message: :auction_active
>   validate :last_user_different?
> 
>   scope :sorted, -> { order(:created_at) }
> 
>   after_create :update_auction
> 
>   private
> 
>   def auction_active?
> if auction && !auction.active?
>   if auction.finished?
> errors.add(:auction, :finished)
>   else
> errors.add(:auction, :not_started)
>   end
> end
>   end
> 
>   def last_user_different?
> if auction && user
>   errors.add(:user, :same_user_twice) if auction.last_user == user
> end
>   end
> 
>   def update_auction
> auction.increase_price_and_time
> auction.publish_updates
>   end
> end
> 
> 
> -- 
> 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+unsubscr...@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/b8ab4f9b-1682-4006-8d91-8f2c556f34e6%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
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+unsubscr...@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/9B8A922E-409D-4DBF-951D-8F01AD01A245%40wdstudio.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Rails] help me debug this model

2018-03-27 Thread Mugurel Chirica
What have you tried so far in debugging this?

Have you used any debugger like pry to see what happens when you rune the
code?

-- 
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+unsubscr...@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/CAL37D8Fj5oHW2Q2uhdVuSkaC69eCoZywfvR3K4-KpABhTof65w%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.