Re: [RailsFr] rajout de ressource dans rails 4

2016-11-22 Par sujet Patrick Lamotte
get ‘/print' => ‘clients#print', as: ‘print'
ça devrait marcher



> Le 22 nov. 2016 à 17:19, ziburudebian  a écrit :
> 
> non plus ça ne resout pas le probleme
> 
> Le mardi 22 novembre 2016 16:32:38 UTC+1, Gregory Frerot a écrit :
> Peut-être rajouter la méthode :print dans ton "before_action"
> 
> Le 22 novembre 2016 à 13:59, 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 
> rails...@googlegroups.com 
> Pour résilier votre abonnement envoyez un e-mail à l'adresse 
> railsfrance...@googlegroups.com 
> --- 
> 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 railsfrance...@googlegroups.com 
> .
> Pour obtenir davantage d'options, consultez la page 
> https://groups.google.com/d/optout .
> 
> 
> 
> -- 
> Grégory Frerot
> --
> Webdesigner / UI Designer @ Effigy sprl
> 
> -- 
> -- 
> 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 
> railsfrance@googlegroups.com
> Pour résilier votre abonnement envoyez un e-mail à l'adresse 
> railsfrance-unsubscr...@googlegroups.com
> --- 
> 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 
> railsfrance+unsubscr...@googlegroups.com 
> .
> Pour obtenir davantage d'options, consultez la page 
> https://groups.google.com/d/optout .

-- 
-- 
Vous avez reçu ce 

Re: [RailsFr] rajout de ressource dans rails 4

2016-11-22 Par sujet Patrick Lamotte
à mettre dans routes.rb bien sûr



> Le 22 nov. 2016 à 17:19, ziburudebian  a écrit :
> 
> non plus ça ne resout pas le probleme
> 
> Le mardi 22 novembre 2016 16:32:38 UTC+1, Gregory Frerot a écrit :
> Peut-être rajouter la méthode :print dans ton "before_action"
> 
> Le 22 novembre 2016 à 13:59, 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 
> rails...@googlegroups.com 
> Pour résilier votre abonnement envoyez un e-mail à l'adresse 
> railsfrance...@googlegroups.com 
> --- 
> 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 railsfrance...@googlegroups.com 
> .
> Pour obtenir davantage d'options, consultez la page 
> https://groups.google.com/d/optout .
> 
> 
> 
> -- 
> Grégory Frerot
> --
> Webdesigner / UI Designer @ Effigy sprl
> 
> -- 
> -- 
> 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 
> railsfrance@googlegroups.com
> Pour résilier votre abonnement envoyez un e-mail à l'adresse 
> railsfrance-unsubscr...@googlegroups.com
> --- 
> 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 
> railsfrance+unsubscr...@googlegroups.com 
> .
> Pour obtenir davantage d'options, consultez la page 
> https://groups.google.com/d/optout .

-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au 

Re: [RailsFr] rajout de ressource dans rails 4

2016-11-22 Par sujet Olivier El Mekki
Est-ce que tu pourrais montrer le contenu de ta méthode `set_client` ?
Également, tu utilises `resource` (singulier) avec `clients` (pluriel) dans
tes routes, est-ce que c'est volontaire?

On Tue, Nov 22, 2016 at 2:13 PM Guirec Corbel 
wrote:

> Salut,
>
> Peux-tu essayer de faire :
>
> resource :clients do
>   collection do
> get "print"
>   end
> end
>
> ça devrait fonctionner.
>
> Le 22 novembre 2016 à 07:59, 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
> railsfrance@googlegroups.com
> Pour résilier votre abonnement envoyez un e-mail à l'adresse
> railsfrance-unsubscr...@googlegroups.com
> ---
> 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
> railsfrance+unsubscr...@googlegroups.com.
> Pour obtenir davantage d'options, consultez la page
> https://groups.google.com/d/optout.
>
>
> --
> --
> 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
> railsfrance@googlegroups.com
> Pour résilier votre abonnement envoyez un e-mail à l'adresse
> railsfrance-unsubscr...@googlegroups.com
> ---
> 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
> railsfrance+unsubscr...@googlegroups.com.
> Pour obtenir davantage d'options, consultez la page
> https://groups.google.com/d/optout.
>

-- 
-- 
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 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe 

Re: [RailsFr] rajout de ressource dans rails 4

2016-11-22 Par sujet ziburudebian
non plus ça ne resout pas le probleme

Le mardi 22 novembre 2016 16:32:38 UTC+1, Gregory Frerot a écrit :
>
> Peut-être rajouter la méthode :print dans ton "before_action"
>
> Le 22 novembre 2016 à 13:59, 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 
>> rails...@googlegroups.com 
>> Pour résilier votre abonnement envoyez un e-mail à l'adresse 
>> railsfrance...@googlegroups.com 
>> --- 
>> 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 railsfrance...@googlegroups.com 
>> .
>> Pour obtenir davantage d'options, consultez la page 
>> https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Grégory Frerot
> --
> Webdesigner / UI Designer @ Effigy sprl
>

-- 
-- 
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 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
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 railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] rajout de ressource dans rails 4

2016-11-22 Par sujet ziburudebian
ça n'a pas marché

Le mardi 22 novembre 2016 14:13:52 UTC+1, Guirec Corbel a écrit :
>
> Salut,
>
> Peux-tu essayer de faire :
>
> resource :clients do
>   collection do
> get "print"
>   end
> end
>
> ça devrait fonctionner.
>
> Le 22 novembre 2016 à 07:59, 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 
>> rails...@googlegroups.com 
>> Pour résilier votre abonnement envoyez un e-mail à l'adresse 
>> railsfrance...@googlegroups.com 
>> --- 
>> 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 railsfrance...@googlegroups.com 
>> .
>> Pour obtenir davantage d'options, consultez la page 
>> https://groups.google.com/d/optout.
>>
>
>

-- 
-- 
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 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
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 railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] rajout de ressource dans rails 4

2016-11-22 Par sujet Guirec Corbel
Salut,

Peux-tu essayer de faire :

resource :clients do
  collection do
get "print"
  end
end

ça devrait fonctionner.

Le 22 novembre 2016 à 07:59, 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
> railsfrance@googlegroups.com
> Pour résilier votre abonnement envoyez un e-mail à l'adresse
> railsfrance-unsubscr...@googlegroups.com
> ---
> 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 railsfrance+unsubscribe@
> googlegroups.com.
> Pour obtenir davantage d'options, consultez la page
> https://groups.google.com/d/optout.
>

-- 
-- 
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 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
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 railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .