看板 Ruby 關於我們 聯絡資訊
環境: e.g. Ruby 1.8.7 + Rails 3.2.8 狀況: class ApplicationController < ActionController::Base protect_from_forgery #問題點 end protect_from_forgery 這個方法是在rails API 文件 http://api.rubyonrails.org/classes/ActionController/RequestForgeryProtection/ClassMethods.html#method-i-protect_from_forgery ActionController::RequestForgeryProtection::ClassMethods 的裡麵才會有的方法,而ApplicationController 的父類別是ActionController::Base ,此類別中沒有protect_from_forgery這個方法,為什麼可以在ApplicationController 直接使用此方法呢? ActionController::Base 與ActionController::RequestForgeryProtection::ClassMethods 這兩個modules間有什麼關係存在導致可以方法可以互相使用嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.151.236
aquarianboy:你可以試著到rails project的目錄底下輸入 rails c 02/17 04:51
aquarianboy:進入console模式 02/17 04:52
aquarianboy:然後輸入 puts ActionController::Base.ancestors 02/17 04:52
aquarianboy:會發現其實事情並不單純 :) 02/17 04:52