Sri thank you for reply me but I don't understand:
1. authorized_for_delete? is a rails method? How can I use it?
2. the problem is not before_destroy; the validation is ok and in fact
the record is not deleted, I need a way to return to the view a
message like "flash[:notice] = "can't delete"".

thank you for your help

On 7 Nov, 18:36, Sri Sri <[EMAIL PROTECTED]> wrote:
> I think there are two ways to do it. Anyone please correct me if I am wrong:
>
> 1. Try the authorized_for_delete? method in the model. That should
> control the delete operations. I find it very useful.
>
> 2. Please look into Canceling callbacks. 'before_destroy' might be
> useful to you.
>    http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html#M001622
>
> -Sri
>
> Stefano wrote:
> > Ok rais goes to the log file.
> > So how to go with a error message in the active scaffold view?
>
> > Thank you
>
> > On 7 Nov, 17:22, Sri Sri <[EMAIL PROTECTED]> wrote:
>
> >> raise will raise an exception which goes to the log file.
>
> >> Stefano wrote:
>
> >>> Sorry, I've read so fast your reply so I've mistake the code.
> >>> Now I've try with this code (like you've write)
>
> >>> before_destroy :deletable
> >>> def deletable
> >>>    products.blank?
> >>> end
>
> >>> and the validation is ok, but now no message appears (neither "Request
> >>> Failed (code 500, Internal Error)").
> >>> I would to show the user that the delete operation is not permetted.
> >>> How to do this in the Active Scaffold view?
>
> >>> Thank you
>
> >>> On 7 Nov, 17:12, Stefano <[EMAIL PROTECTED]> wrote:
>
> >>>> Thank you for your reply.
> >>>> I've try to use this code:
>
> >>>> before_destroy :deletable
>
> >>>> def deletable
> >>>>     unless products.blank?
> >>>>       raise "You can't destroy this invoice!"
> >>>>     end
> >>>> end
>
> >>>> but the message in the view is always "Request Failed (code 500,
> >>>> Internal Error)".
>
> >>>> What can I do?
>
> >>>> Thank you for your help
>
> >>>> On 7 Nov, 11:48, "Sergio Cambra .:: entreCables - Symbol Servicios
> >>>> Informáticos S.L. ::." <[EMAIL PROTECTED]> wrote:
>
> >>>>> El Thursday 06 November 2008 16:46:23 Stefano escribió:
>
> >>>>>> Hi, I've a model called "Invoice" that :has_many products.
> >>>>>> I've validate the destroy of one Invoice that control if the
> >>>>>> invoice.products is empty (one invoice can't be deleted if contains
> >>>>>> products).
> >>>>>> Here the code:
> >>>>>> -----------------------------------
> >>>>>>   before_destroy :deletable
>
> >>>>>>   def deletable
> >>>>>>     unless products == []
> >>>>>>       raise "You can't destroy this invoice!"
> >>>>>>     end
> >>>>>>   end
> >>>>>> -------------------------------------
>
> >>>>>> The validation is ok so in the view (managed by ActiveScaffold) if I
> >>>>>> try to delete one invoice with some products associated, I receive the
> >>>>>> message "Request Failed (code 500, Internal Error)" and not "You can't
> >>>>>> destroy this invoice!".
> >>>>>> How can I change the message?
> >>>>>> Thank you
>
> >>>>> ActionController callbacks must raise an exception or render or 
> >>>>> redirect to
> >>>>> cancel the action, but ActiveRecord callbacks cancel actions returning 
> >>>>> false,
> >>>>> so you should use:
>
> >>>>> def deletable
> >>>>>         products.blank?
> >>>>> end
> >>>>> --
> >>>>> Sergio Cambra .:: entreCables - Symbol Servicios Informáticos S.L. ::.
> >>>>> Nicolás Guillén 6, locales 2 y 3. 50.018 Zaragoza
> >>>>> T) 902 021 404 F) 976 52 98 07 E) [EMAIL PROTECTED]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"ActiveScaffold : Ruby on Rails plugin" 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/activescaffold?hl=en
-~----------~----~----~----~------~----~------~--~---

  • Ch... Stefano
    • ... Sergio Cambra .:: entreCables - Symbol Servicios Informáticos S.L. ::.

Reply via email to