merci florian, mais cela ne semble pas marcher;
pour info je ne fais pas du rhtml ou haml mais du slim mais je vais jeter
un oeil sur react et ses jsx
concernant ma fonctionnalité du print je voulais sur un bouton print,
disponible dans toutes mes vues de type index (show), lancer une
'impression' pdf avec wkhtmltopdf
Le mardi 22 novembre 2016 13:59:29 UTC+1, ziburudebian a écrit :
>
> bonjour à tous
>
> j'ai un *model/controller/vue* nommé clients qui fait classiquement edit,
> show, update
>
> dans *app/controllers/clients_controller.rb* j'ai ce début de code
>
> class ClientsController < ApplicationController
>
> before_action :set_client, only: [:show, :edit, :update, :destroy]
>
> respond_to :html
>
> def index
> @clients = Client.all
> respond_with(@clients)
> end
>
> def show
> respond_with(@client)
> end
>
> def print
>
> end
>
> ......
>
>
> dans ma vue j'ai ceci :
>
> div.milieu
> table border="1"
> thead
> tr
> th "IDENT"
> th "NOM"
> tbody
> - clients.each do |client|
> tr
> td = client.ident
> td = client.lastname
> br
> div.action
> table
> tr
> td
> = button_to "new", url_for([:new, :"client"]), :method => "get"
> td
> = button_to "print", url_for([:print, :"clients"]), :method => "get"
>
>
> je souhaite rajouter une méthode *print *et donc dans ma route j'ai
> rajouté
>
> resource :clients do
> get "print"
> end
>
>
> ainsi qu'une méthode dans mon controller (cf plus haut) et une vue
> *print.html.slim*
>
> lorsque rails charge ma vue les deux boutons *new *et *print* s'affichent
> correctement mais quand je clique sur *print *j'ai une erreur ; voici la
> log :
>
> I, [2016-11-22T13:45:20.972040 #20643] INFO -- : Started GET "/clients"
> for 92.103.19.65 at 2016-11-22 13:45:20 +0100
> I, [2016-11-22T13:45:21.037813 #20643] INFO -- : Processing by
> ClientsController#index as HTML
> I, [2016-11-22T13:45:21.268393 #20643] INFO -- : Rendered
> clients/index.html.slim within layouts/application (205.5ms)
> I, [2016-11-22T13:45:21.276660 #20643] INFO -- : Rendered
> tpl/_header.html.slim (5.6ms)
> I, [2016-11-22T13:45:21.350503 #20643] INFO -- : Rendered
> tpl/_menu.html.slim (73.1ms)
> I, [2016-11-22T13:45:21.460437 #20643] INFO -- : Rendered
> tpl/_footer.html.slim (108.3ms)
> I, [2016-11-22T13:45:21.460910 #20643] INFO -- : Completed 200 OK in
> 423ms (Views: 387.4ms | ActiveRecord: 14.7ms)
> I, [2016-11-22T13:45:24.046331 #20643] INFO -- : Started GET
> "/clients/print" for 92.103.19.65 at 2016-11-22 13:45:24 +0100
> I, [2016-11-22T13:45:24.053057 #20643] INFO -- : Processing by
> ClientsController#show as HTML
> I, [2016-11-22T13:45:24.053158 #20643] INFO -- : Parameters:
> {"id"=>"print"}
> I, [2016-11-22T13:45:24.058554 #20643] INFO -- : Completed 404 Not Found
> in 5ms
> F, [2016-11-22T13:45:24.060876 #20643] FATAL -- :
> ActiveRecord::RecordNotFound (Couldn't find Client with 'id'=print):
> app/controllers/clients_controller.rb:130:in `set_client'
>
>
> on dirait qu'il charge le show alors que je lui demande le print
>
> Merci pour votre aide
>
>
--
--
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 recevez ce message, car vous êtes abonné au groupe Google Groupes
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant,
envoyez un e-mail à l'adresse [email protected].
Pour plus d'options, visitez le site https://groups.google.com/d/optout .