Fd779852eb8e519999f8b35c47777608

如何在不同view使用同一個helper

chiayiRuby on Rails 節點 中發起
最後由 lulalala回應 , 380次閱讀

慣例上AController會有AHelper, BController會有BHelper
假設想在A的view中使用BHelper該怎麼做?

我知道可以直接在AHelper include BHelper,這樣所有A的view就都可以使用BHelper
但不太好,有可能兩個Helper的method是同名的
請問有沒有比較好的解法?

謝謝

截至 ,共收到 4 條回應
009994c3985985809d2d644bd49aa1c2
lulalala 1樓, 於回應

Helper是全域的,定義在哪一個檔案中其他view也可以用。

E62dd1e97f98e9ead3085521b02a4d35
jrweizhang 2樓, 於回應

那請問有沒有辦法限定 AHelper 中定義的 method 只能給 AController 的 view 用?
類似 namespace 那樣
或是一般都怎麼處理同名的 helper method?
謝謝!

2a01ae9942939ee2b3954a6727d2bb92
tonytonyjan 3樓, 於回應

在 lib 放很多 mixin 專用的 module

009994c3985985809d2d644bd49aa1c2
lulalala 4樓, 於回應

直接寫成 private method 放在該 controller 中,然後再 helper :method_name 把他變成能呼叫的 helper。

需要 登入 後方可回應,如果你還沒有帳號按這裡 註冊