2017-12-28 48 views
2
私はルートを実行したときにネストされていないように見えるのルートへのアクセスに問題があるのですが、ここではroutes.rbを

トラブル

 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 

にネストされている

は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 

そして、私のlink_to

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

No route matches {:action=>"create", :controller=>"lists", :method=>:post} 

rakeルートの場合、リストの作成アクションがあるため、混乱します。私は明らかにそれを正常にアクセスすることはできません。私はどんな助けにも感謝します。

あなたのルートを1として、あなたがproject_idを渡すため

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

のparamsとしてアクションを作成する必要があるか、また、これを試すことができます: - - は:

+0

トライすくいルートをあなたのサーバーを再起動した後も同じルートが表示されましたか?私は彼らが2リスト 'create#'でなければならないとは思わない。 – Manishh

+0

そうだね。私はサーバーを再起動しました。リストは1つしかありません#今作成する POST /projects/:project_id/lists(.:format)lists#create – Spikerr

答えて

2

これを試してみてください

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

ありがとう!彼らは両方とも動作します! – Spikerr

+0

@Spikerrはあなたやあなたの説明を明確にするのを助けたならば、答えをupvote/acceptに自由に感じます。 – Gabbar