要開(kāi)發(fā)plug,那么rails的版本必須是0.14后的。

plug的基本原理是什么呢?我們看一個(gè)例子:

我們假想這是rails的一個(gè)核心類(lèi)
class A
?def foo
??"foo"
?end
end

這個(gè)就是你的插件了,你可以新增方法或者是覆蓋原來(lái)的方法。
class A
?def foo
??"foofoo"
?end
?
?def bar
??"bar"
?end
end

現(xiàn)在可以在rails應(yīng)用程序中使用A了,你的插件已經(jīng)神奇般添加
進(jìn)了Rails的核心了。

a = A.new
puts a.foo???????? #"foofoo"
puts a.bar???????? #"bar"

其實(shí)這用到的是ruby類(lèi)的不封閉原則。