我有一堆白名单函数可以对参数进行一些复杂的验证。如果你必须知道,我有几个控制器接受:
客户ID
e.g。
customer=cus_123412341234
客户哈希
e.g。
customer[first_name]=Floating&customer[last_name]=Rock&...
请记住,有几个控制器执行此操作(例如,可以使用charges
ID或哈希在customer
端点创建费用。
现在我想知道 where 我应该放置这些方法(例如customer_hash_params()
,customer_string_params()
,..)?
我应该:
lib/
文件夹中helpers/
文件夹中想知道最佳做法是什么?
答案 0 :(得分:2)
简而言之,放入app/helpers
的助手可能会为控制器和视图提供一些逻辑。它是自动加载的视图,需要包含在控制器中。放置在lib
文件夹中的模块或类通常会扩展某些控制器或模型逻辑。除非在application.rb
因为你有一些验证逻辑,适合lib
目录,因为在视图中不需要它。我假设这些验证是一种预验证,并且您的模型没有定义所有这些验证字段。否则,为您的模型编写一些自定义验证器是个好主意。
答案 1 :(得分:1)
如果这是要求,请去lib文件夹,上课。在不同的控制器和模型中调用这些类方法。