2014-11-02 75 views
0

我有一堆白名單功能,對參數進行一些複雜的驗證。如果你一定要知道,我有幾個控制器,接受或者:模塊,幫手還是其他?

  1. 一位顧客ID

    例如customer=cus_123412341234

  2. 一位顧客哈希

    例如customer[first_name]=Floating&customer[last_name]=Rock&...

記住,有幾個控制器,做到這一點(可以在使用customer ID或散列的charges端點被創建例如電荷)。

現在我想知道其中我應該把這些方法(例如customer_hash_params(), customer_string_params(),..)?

我應該:

  1. 將它們放在lib/文件夾作爲模塊
  2. 將它們放在helpers/文件夾作爲助手
  3. 別的東西..

想知道最佳實踐是什麼?

回答

2

簡而言之,放入app/helpers的幫手可能爲控制器和視圖提供了一些邏輯。它是自動加載的意見,並需要包含在控制器內。置於lib文件夾中的模塊或類通常會擴展某些控制器或模型邏輯。它不是自動加載到環境中,除非內application.rb

指定當你有一些驗證邏輯,適合於lib目錄,因爲它不是視圖中需要的。我假設這些驗證是一種預驗證,您的模型沒有定義所有這些驗證字段。否則,爲您的模型編寫一些自定義驗證器將是一個好主意。

1

當我們有很長的方法來支持控制器或模型時,總是使用Rails中的Lib文件夾。以便我們可以從各種控制器調用這些方法。

如果這是要求,那麼去lib文件夾,做一個類。在不同的控制器和模型中調用這些類方法。