簡體   English   中英

單獨的rails輔助方法

[英]Separate rails helper methods

我有幾個帶有相關輔助模塊的控制器。 我得到了一些輔助方法,它們在不同模塊中的行為應該相似,這意味着:

module UserHelper
  ..
  def destroy(user)
    link_to t(:destroy_user), user ... 
  end
end

module PhotosHelper
  ..
  def destroy(photo)
    link_to t(:destroy_photo), photo ... 
  end
end

我不知道(意識到)所有這些輔助模塊都默認包含在內(我猜,這是好的)並且你從哪個視圖調用輔助方法並不重要。

將其余助手與當前控制器/視圖分開的最佳方法是什么,以便在controller_name == 'photos' ,僅使用PhotosApplication助手?

助手的概念對我來說並不是很清楚。 如果所有助手已經混入,為什么不只有一個ApplicationController 它只是為了“邏輯分離”嗎?

我的意思是,當然,有很多解決方法。 但這只是我,還是真的覺得沒有理由在全球范圍內包括所有助手?

如果您在ApplicationController類中調用clear_helpers ,則它們不會在不同的幫助程序類之間共享

clear_helpers()

清除此類中的所有現有幫助程序,僅保留與此類同名的幫助程序。

參考: http//api.rubyonrails.org/classes/AbstractController/Helpers/ClassMethods.html#method-i-clear_helpers

您可以將常用方法放在ApplicationHelper上並將資源作為參數傳遞。

因此,僅將特定輔助資源用於特定方法。

無論如何,您可以共享的方法(幫助程序)轉到ApplicationHelper文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM