Loading...

railsfrance@googlegroups.com

[Prev] Thread [Next]  |  [Prev] Date [Next]

Re: [RailsFr] Re: Video avec paperclip Xavier Dutreilh Sat Dec 17 03:01:06 2011

Bonsoir Arthur,

Es-tu d'avoir suivi la documentation de state_machine ?

Il ne suffit pas de changer le nom de la méthode pour avoir du code valide.
;-)

De mémoire, ta state machine doit ressembler à ça :
state_machine :initial => :pending do
 after_transition :on => :converted, :do => :set_new_filename

 event :convert do
   transition :pending => :converting
 end

 event :converted do
   transition :converting => :converted
 end

 event :failed do
   transition :converting => :error
 end
end
(la déclaration explicite des states reste optionnelle pour ton cas de
figure)

Pour ton second problème :
@video = @event.videos.create(params[:video])
@video = @event.videos
if @video.save

Cette ligne est amplement suffisante (toujours dans ton cas de figure) :
@video = @event.videos.create(params[:video])
Ajoute un ! à la fin de create pour lancer une exception décrivant la
raison de l'erreur qui empêche de sauvegarder ton objet ou consulte le
contenu de @video.errors

Bon courage !

2011/12/2 Arthur Itey <[EMAIL PROTECTED]>:
> Me voila :)
>
> j'ai converti ça :
>
>> acts_as_state_machine :initial => :pending
>>   state :pending
>>   state :converting
>>   state :converted, :enter => :set_new_filename
>>   state :error
>>
>>   event :convert do
>>     transitions :from => :pending, :to => :converting
>>   end
>>
>>   event :converted do
>>     transitions :from => :converting, :to => :converted
>>   end
>>
>>   event :failed do
>>     transitions :from => :converting, :to => :error
>>   end
>
>
> en ça (j'ai suivi la doc):
>
>>> state_machine :initial => :pending do
>>>
>>> state :pending
>>>
>>> state :converting
>>>
>>> state :converted, :enter => :set_new_filename
>>>
>>> state :error
>>>
>>>
>>> event :convert do
>>>
>>> transition :from => :pending, :to => :converting
>>>
>>> end
>>>
>>>
>>> event :converted do
>>>
>>> transition :from => :converting, :to => :converted
>>>
>>> end
>>>
>>>
>>> event :failed do
>>>
>>> transition :from => :converting, :to => :error
>>>
>>> end
>>>
>>>   end
>
>
> Et j'ai le droit a un invalid keys :(
>
> D'autre part j'ai une autre erreur ici
>
> def create
>
>     @video = Video.new(params[:video])
>     if @video.save
>       @video.convert
>       flash[:notice] = 'Video has been uploaded'
>       redirect_to :action => 'index'
>     else
>       render :action => 'new'
>     end
>   end
>
>  Il n'accepte pas les save car mon code ressemble a celui la :
>
>>> def create
>>>
>>> @event = Event.find(params[:event_id])
>>>
>>> # @video = @event.videos.create(params[:video])
>>>
>>> @video = @event.videos
>>>
>>> if @video.save
>>>
>>> @video.convert
>>>
>>> flash[:notice] = 'Video has been uploaded'
>>>
>>> redirect_to :action => 'index'
>>>
>>> else
>>>
>>> render :action => 'new'
>>>
>>> end
>>>
>>> redirect_to event_path(@event)
>>>
>>> end
>
>
> Je vous serais reconnaissant :)
>
> Merci
>
> --
> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
> Google Groups.
> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
> [EMAIL PROTECTED]
> Pour résilier votre abonnement envoyez un e-mail à l'adresse
> [EMAIL PROTECTED]

-- 
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [EMAIL 
PROTECTED]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]