[問題] 語法問題請教

看板Ruby作者 (fool)時間11年前 (2013/02/15 23:50), 編輯推噓0(004)
留言4則, 1人參與, 最新討論串1/1
環境: 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

02/17 04:51, , 1F
你可以試著到rails project的目錄底下輸入 rails c
02/17 04:51, 1F

02/17 04:52, , 2F
進入console模式
02/17 04:52, 2F

02/17 04:52, , 3F
然後輸入 puts ActionController::Base.ancestors
02/17 04:52, 3F

02/17 04:52, , 4F
會發現其實事情並不單純 :)
02/17 04:52, 4F
文章代碼(AID): #1H7basvu (Ruby)