2017-07-18 5 views
-1

2.3.1p112とRails:3.2.12

初期化されていない一定の管理::ルビーを使用した管理

私は私のコントローラでデモメソッドを呼び出ししようとしています。だから、私の_form.html.erbに私が持っている:私のroutes.rb

<%= link_to 'Demo', "/admin/clinics/"[email protected]_s+"/demo" %> 

を:

match "/admin" => "admin#index", :as => :admin 

namespace :admin do 
    resources :admin_users 
    resources :health_plan_tables 
    resources :health_aid_tables 
    resources :clients 
    resources :clinics 
    resources :specialties 
    resources :qualifications 
    resources :profissionals 
    resources :addresses 
    resources :documents 
    resources :banners 
    root :to => 'banners#index' 
    get 'logout' => 'devise/sessions#destroy' 

    get 'clinics/:id/demo', to: 'admin/clinics#demo', as: 'demo' 
end 

マイclinics_controller.rbがフォルダcontrollers/admin内にある、と私は持っている:だから

def demo 
    print "hello" 
end 

、ときに私リンクをクリックすると、Uninitialized constant Admin::Adminというエラーメッセージが表示されます。 それを修正する方法はありますか?

+0

完全なエラースタックトレースを投稿できますか? – Pavan

+0

ここに男:[リンク](https://uploaddeimagens.com.br/imagens/image-png--479) –

答えて

1

すでに名前空間内であなたのdemoルートを定義しているので、ちょうどclinics#demoが必要となり、admin/clinics#demoを指定する必要はありません。

namespace :admin do 
    resources :admin_users 
    resources :health_plan_tables 
    resources :health_aid_tables 
    resources :clients 
    resources :clinics 
    resources :specialties 
    resources :qualifications 
    resources :profissionals 
    resources :addresses 
    resources :documents 
    resources :banners 
    root :to => 'banners#index' 
    get 'logout' => 'devise/sessions#destroy' 

    get 'clinics/:id/demo', to: 'clinics#demo', as: 'demo' 
end 
+0

'不在のテンプレート管理 'エラーが表示されます。 [チェックアウト](https://uploaddeimagens.com.br/imagens/image2-png--14)。 –

+2

@ThiagoAndersonそれはあなたが 'app/views/admin/clinics'に' demo.html.erb'というビューを持っていないからです。そのテンプレートを追加する必要があります。ブラウザで 'hello'を印刷したいだけなら、' print 'hello ''を 'in'レンダリングに変更します:" hello "'。 – Gerry

+1

ニース@ジェリー!それでおしまい。ありがとう! –

1

エラーログによれば、admin/admin/clinicsの下に名前空間のコントローラがあります(コントローラのparamsの部分にあります)。

変更管理者(それはすでに名前空間だとあなたが効果的にそれを2回名前空間をしている)が含まれないように下ルート:この正しいコントローラへの意志ルート、管理者/診療所、代わりの管理者/管理者

get 'clinics/:id/demo', to: 'clinics#demo', as: 'demo' 

を/クリニック

+0

「テンプレート管理に欠けています」というエラーが表示されます。 [チェックアウト](https://uploaddeimagens.com.br/imagens/image2-png--14)。 –

+1

私はこれをGerryに任せます。 – Mark

+0

Ohh:/ちょうど私たちが同時に答えたことに気づいた(実際に私は1分後に行った)。 – Gerry

関連する問題