2014-02-07 2 views
1

중첩 컨트롤러의 관리자보기가 있으며 여기에 표시된 편지함 젬의 모든 대화 목록이 나와 있습니다 (Mailboxer Gem, Admin View).중첩 된보기를 라우팅하는 레일

라우팅 권한을 얻을 수 없습니다. 관리자보기에서 생성되는 링크는/conversations/id로 이동하므로 admin/conversations/id로 이동해야합니다. 브라우저 바에 입력 할 때 두 경로가 모두 작동하고 올바른보기가 표시됩니다. 내보기에서

# GET /admin/conversations 
    # GET /admin/conversations.json 
    def index 
    @admin_conversations = Conversation.all.unscoped.order("updated_at desc") 
    end 

# GET /admin/conversations/1 
# GET /admin/conversations/1.json 
def show 
    @conversation = Conversation.find(params[:id]) 
end 

:

<% @admin_conversations.each do |admin_conversation| %> 
    <tr> 
    <td><%= admin_conversation.originator.name %> <span class="label label-default"><%= admin_conversation.originator.role.humanize %></span> </td> 
    <td><%= admin_conversation.subject %> </td> 
    <td><%= time_ago_in_words(admin_conversation.updated_at) %> ago</td> 
    <td><%= link_to 'View Conversation', admin_conversation %></td> 

    </tr> 

링크가보기에 생성되는

가/대화/ID로 이동, 내가 관리자/대화에 갈 필요 내 컨트롤러에서

/신분증.

내 관리자 노선 :

namespace :admin do 
    resources :users 
    resources :managers 
    resources :conversations 
    get 'enquiries/:status', to: 'enquiries#index', as: :admin_enquiries_with_status, constraints: {status: /(pending|completed|approved)/} 
    resources :enquiries, except: [:destroy] do 
     post :add_venue, on: :member 
     post :remove_venues, on: :member 
     post :approve, on: :member 
    end 
    resources :venues, only: [:index, :show, :destroy] do 
     get :autocomplete, on: :collection 
    end 
    get "pages/statistics" 
    end 

나는 네임 스페이스 라우팅 할 레일의 문서를 통해 작업을 시도했지만이 작업을 얻을 수없는 것. 실제 경로/admin/conversations/id는 브라우저 바에 입력하고 정확한 컨트롤러에서 보여지는 페이지를 반환합니다. 링크가 올바로 표시되도록하기 위해 무엇을해야할지 모르겠습니다.

회화 컨트롤러 경로 :

send_message POST /conversations/send_message(.:format) conversations#send_message 
      reply_conversation POST /conversations/:id/reply(.:format) conversations#reply 
      trash_conversation POST /conversations/:id/trash(.:format) conversations#trash 
     untrash_conversation POST /conversations/:id/untrash(.:format) conversations#untrash 
       conversations GET /conversations(.:format) conversations#index 
           POST /conversations(.:format) conversations#create 
      new_conversation GET /conversations/new(.:format) conversations#new 
       conversation GET /conversations/:id(.:format) conversations#show 

관리자 회화 컨트롤러 노선 :

POST /admin/conversations(.:format) admin/conversations#create 
     new_admin_conversation GET /admin/conversations/new(.:format) admin/conversations#new 
     edit_admin_conversation GET /admin/conversations/:id/edit(.:format) admin/conversations#edit 
      admin_conversation GET /admin/conversations/:id(.:format) admin/conversations#show 
           PATCH /admin/conversations/:id(.:format) admin/conversations#update 
           PUT /admin/conversations/:id(.:format) admin/conversations#update 
           DELETE /admin/conversations/:id(.:format) admin/conversations#destroy 
+0

'레이크 루트'는 무엇을 말합니까? – emaillenin

+0

관련 레이크 경로를 표시하도록 업데이트되었습니다. 감사! –

+0

내게 맞는 것 – emaillenin

답변

0

좋아, 그래서 그것을 밖으로했다.

<td><%= link_to 'View Conversation', [:admin, admin_conversation] %></td> 

: admin을 삭제하고 대괄호를 사용하여 URL 앞에/admin을 추가해야합니다.

문서를 조금 더 철저히 읽어야합니다 ...