Accessoirement, si ça c'est ta méthode create, quelques questions :

> def create
> @item = Item.new(params[:item])
> @item = Item.create(params[:item])
>
> @search = Item.search(params[:search])
> if @search
> @items = @search
> else
> @items = Item.order("title")
> end
> end
>

Déjà sur ces deux lignes :

> @item = Item.new(params[:item])
>
@item = Item.create(params[:item])
>
A quoi ça sert de faire une nouvelle instance d'item dans la propriété
@item sans la sauvegarder en base (première ligne) juste avant de mettre
une autre nouvelle instance d'Item en tentant de la sauvegarder d'abord en
base de données cette fois (2° ligne) dans la même propriété @item à la
place de la première ?

Ensuite, à quoi sert la ligne suivante :

> @search = Item.search(params[:search])
>
Normalement ton action create devrait tenter de créer un nouvel item,
chercher des items ce serait plutôt le boulot de la méthode index par
exemple. Je suppose que tu as fait ça pour remplir ensuite la propriété
@items dans les lignes suivantes et parce que tu as fait une vue create qui
doit afficher la liste d'items que tu récupères.

Tout ça n'est pas terrible, et un peu inutilement compliqué. Simplifions
(en supposant que tu veuilles afficher ta liste d'items après la création
de ton nouvel item et que tu ne crains pas les erreurs de création) :

> def create
> @item = Item.create(params[:item])
> redirect_to :index
>  end
>

Ensuite, il vaudrait mieux nous montrer un peu ton modèle Item pour qu'on
voit comment tu as paramétré paperclip -qui est peut-être la coupable ici-
et toute la stack trace complète et pas juste la ligne dans le contrôleur
où l'erreur est remontée ; il s'agit probablement d'une erreur dans le code
du modèle.

Michel Belleville



2011/11/3 Bob MAERTEN <[email protected]>:
>
>
> Le 3 novembre 2011 19:30, Olivier Morel <[email protected]> a écrit :
>>
>> j ai essayé avec différent fichier pdf de taille différente
>
> Désolé, sur ce coup là, je sèche.
>
>>
>>
>>
>>
>> Donc si je comprend bien cette erreur arrive à tous le monde au moins 1
>> fois :)
>>
>>
>
> Ça viendrait de la façon dont rails est fait pour que tout soit simple. Le
> podcast (payant) DestroyAllSoftware explique cela en partie dans son
épisode
> gratuit
> (
https://www.destroyallsoftware.com/screencasts/catalog/how-and-why-to-avoid-nil
)
> si tu es à l'aise en anglais.
>
> --
> Bob
>
> --
> 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]

Répondre à