Railsのルーティングに奇妙な問題があります。PageというコントローラーとPage#dashboardというメソッドがあります
/ Dashboard / 1にアクセスしようとすると、PageControllerのダッシュボードメソッドが実行されません。しかし、驚くべきことに、/ pages/dashboard.html.erbは正常にレンダリングされます。
誰かが私に理由を説明できますか?
以下のようにコードの詳細。ありがとう
アクセスしようとしています-/dashboard/1
Routes.rb
match '/dashboard/:id' => 'page#dashboard'
Page_Controller.rb
class PageController < ApplicationController
before_filter :init
private
def init
puts "init getting executed !!!!!!!!!" #this gets printed on console
end
def dashboard
puts "dashboard getting executed !!!!!!!!!" #this doesnt get printed on console
end
end
viewPage-Pages / dashboard.html.erb
ログは以下のように表示されます-
init getting executed !!!!!!!!!
Started GET "/dashboard/8" for 127.0.0.1 at 2012-06-03 00:04:40 +0800
Processing by PageController#dashboard as HTML
Parameters: {"id"=>"8"}
Rendered page/dashboard.html.erb within layouts/page (45.9ms)
Completed 200 OK in 180ms (Views: 133.6ms | ActiveRecord: 3.1ms)