the validation is for quantity of products, the idea is, if the user
try to enter a quantity greater than the available quantity of
products, then the validation error must show up.

The problem is, products are in differents storages, and storages
belongs to a branch (a company or enterprise has a main office and has
many branches). so, I have to start my validation finding the storages
that belongs to a certain branch, when I have the storages I have to
find the product and get the total quantity of that product.

The thing is that, to get the branch id, I need to access to
"session[:user].branch_id", but I can't do that in the model.

Can you give me, please, an example of the last option

"If all else fails you could add a non-database attribute to invoice
details and set that prior to saving, then pick it up in the
validation."

I don't know how to add a non-database attribute in a _partial for
nested attributes, neither how to set it prior to saving

Could you help me, please



On 17 nov, 13:59, Colin Law <[email protected]> wrote:
> On 17 November 2011 16:46, Angelo Cordova <[email protected]> wrote:
>
> > Hello people.
>
> > I have a big problem here. In my rails 3.0.9 app I have a model
> > "invoice" that model "accepts nested attributes" for "invoice
> > details". So, I don't have a "controller" nor "views" for "invoice
> > details", just model, because I have a "partial" in "invoices views"
> > for the "nested attributes".
>
> > The thing is that I need to run a custom validation when every
> > "invoice details" is created, and I need a variable stored in
> > "session". But Models can not access "session" variables.
>
> > So I want to know, how can I access that variable and then use it in
> > my validation.
>
> Is the custom validation to do with data in the invoice?  I believe
> you can access the invoice that the details belong to in the
> validation.
>
> Also possibly reject_if on accepts_nested_attributes_for might do the job.
>
> If all else fails you could add a non-database attribute to invoice
> details and set that prior to saving, then pick it up in the
> validation.
>
> Colin

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to