2017-12-28 11 views
2

Ich habe Probleme, eine Route Zugriff auf die nicht verschachtelt zu sein scheint, wenn ich Strecken laufen, aber hier in routes.rbÄrger verschachtelte Route mit link_to oder button_to Schienen Zugriff

 Prefix Verb URI Pattern        Controller#Action 
       sort_list POST /lists/:id/sort(.:format)     lists#sort 
        list POST /lists/:id(.:format)      lists#create 
       list_items GET /lists/:list_id/items(.:format)   items#index 
         POST /lists/:list_id/items(.:format)   items#create 
      new_list_item GET /lists/:list_id/items/new(.:format)  items#new 
       edit_item GET /items/:id/edit(.:format)     items#edit 
        item GET /items/:id(.:format)      items#show 
         PATCH /items/:id(.:format)      items#update 
         PUT /items/:id(.:format)      items#update 
         DELETE /items/:id(.:format)      items#destroy 
      project_lists GET /projects/:project_id/lists(.:format)  lists#index 
         POST /projects/:project_id/lists(.:format)  lists#create 
     new_project_list GET /projects/:project_id/lists/new(.:format) lists#new 
       edit_list GET /lists/:id/edit(.:format)     lists#edit 
         GET /lists/:id(.:format)      lists#show 
         PATCH /lists/:id(.:format)      lists#update 
         PUT /lists/:id(.:format)      lists#update 
         DELETE /lists/:id(.:format)      lists#destroy 
       projects GET /projects(.:format)      projects#index 
         POST /projects(.:format)      projects#create 
      new_project GET /projects/new(.:format)     projects#new 
      edit_project GET /projects/:id/edit(.:format)    projects#edit 
       project GET /projects/:id(.:format)     projects#show 
         PATCH /projects/:id(.:format)     projects#update 
         PUT /projects/:id(.:format)     projects#update 
         DELETE /projects/:id(.:format)     projects#destroy 
        react POST /react(.:format)       reacts#create 
       new_react GET /react/new(.:format)      reacts#new 
       edit_react GET /react/edit(.:format)      reacts#edit 
         GET /react(.:format)       reacts#show 
         PATCH /react(.:format)       reacts#update 
         PUT /react(.:format)       reacts#update 
         DELETE /react(.:format)       reacts#destroy 

verschachtelt ist routes.rb

Rails.application.routes.draw do 
    resources :projects do 
    resources :lists, shallow: true do 
     member do 
     post :sort 
     end 
     resources :items, shallow: true 
    end 
    end 
    resource :react 
end 

Und mein link_to

<%= link_to %(<span class="glyphicon glyphicon-trash"></span>).html_safe, controller: :lists, action: :create ,remote: true, method: :post %> 

ich erhalte den Fehler

Ich bin verwirrt, weil wenn ich Routen hake es gibt, dass es eine create Aktion für die Liste gibt. Ich kann natürlich nicht normal darauf zugreifen. Ich schätze jede Hilfe.

+0

try Rake Routen Haben Sie nach dem Neustart Ihres Servers dieselben Routen angezeigt? Ich denke nicht, dass sie 2 Listen # create sein sollten. – Manishh

+0

Ja, das ist richtig. Ich habe den Server neu gestartet, es gibt nur eine Liste # create now POST /projects/:project_id/lists(.:format) lists # create – Spikerr

Antwort

2

try this: -

Wie pro Ihre Routen, die Sie project_id geben müssen für erstellen Aktion als params

<%= link_to project_lists_path(project_id: project.id), method: :post, remote: true do%> 
    <span class="glyphicon glyphicon-trash"></span> 
<%end%> 

oder Sie können dies auch versuchen: -

<%= link_to project_lists_path(project), method: :post, remote: true do%> 
    <span class="glyphicon glyphicon-trash"></span> 
<%end%> 
+0

Vielen Dank! Sie arbeiten beide! – Spikerr

+0

@Spikerrr fühlen sich frei zu upvote/akzeptieren Sie die Antwort, wenn es Ihnen oder Erklärung für Sie klar war. – Gabbar