Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 模块、助手还是其他什么?_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 模块、助手还是其他什么?

Ruby on rails 模块、助手还是其他什么?,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我有一堆白名单函数,它们对参数进行一些复杂的验证。如果您必须知道,我有几个控制器可以接受: 客户ID e、 g.customer=cus_1234123412341234 顾客散列 e、 g.customer[名字]=浮动和customer[姓氏]=摇滚乐和…… 请记住,有几个控制器可以执行此操作(例如,可以使用客户ID或哈希在费用端点创建费用) 现在我想知道这些方法应该放在哪里(例如,customer\u hash\u params(),customer\u string\u params

我有一堆白名单函数,它们对参数进行一些复杂的验证。如果您必须知道,我有几个控制器可以接受:

  • 客户ID

    e、 g.
    customer=cus_1234123412341234

  • 顾客散列

    e、 g.
    customer[名字]=浮动和customer[姓氏]=摇滚乐和……

  • 请记住,有几个控制器可以执行此操作(例如,可以使用
    客户
    ID或哈希在
    费用
    端点创建费用)

    现在我想知道这些方法应该放在哪里(例如,
    customer\u hash\u params()
    customer\u string\u params()
    ,…)

    我应该:

  • 将它们作为模块放在
    lib/
    文件夹中
  • 将它们作为助手放置在
    helpers/
    文件夹中
  • 还有别的

  • 想知道最佳实践是什么吗?

    简而言之,放置在
    app/helpers
    中的助手可能为控制器和视图提供一些逻辑。它是自动加载的视图,需要包含在控制器中。放置在
    lib
    文件夹中的模块或类通常扩展某些控制器或模型逻辑。除非在
    application.rb中指定,否则它不会自动加载到环境中


    因为您有一些验证逻辑,它适合于
    lib
    目录,因为视图中不需要它。我假设这些验证是一种预验证,并且您的模型没有定义所有这些验证字段。否则,最好为您的模型编写一些自定义验证器。

    简言之,放置在
    app/helpers
    中的助手可能为控制器和视图提供一些逻辑。它是自动加载的视图,需要包含在控制器中。放置在
    lib
    文件夹中的模块或类通常扩展某些控制器或模型逻辑。除非在
    application.rb中指定,否则它不会自动加载到环境中


    因为您有一些验证逻辑,它适合于
    lib
    目录,因为视图中不需要它。我假设这些验证是一种预验证,并且您的模型没有定义所有这些验证字段。否则,最好为您的模型编写一些自定义验证器。

    简言之,放置在
    app/helpers
    中的助手可能为控制器和视图提供一些逻辑。它是自动加载的视图,需要包含在控制器中。放置在
    lib
    文件夹中的模块或类通常扩展某些控制器或模型逻辑。除非在
    application.rb中指定,否则它不会自动加载到环境中


    因为您有一些验证逻辑,它适合于
    lib
    目录,因为视图中不需要它。我假设这些验证是一种预验证,并且您的模型没有定义所有这些验证字段。否则,最好为您的模型编写一些自定义验证器。

    简言之,放置在
    app/helpers
    中的助手可能为控制器和视图提供一些逻辑。它是自动加载的视图,需要包含在控制器中。放置在
    lib
    文件夹中的模块或类通常扩展某些控制器或模型逻辑。除非在
    application.rb中指定,否则它不会自动加载到环境中


    因为您有一些验证逻辑,它适合于
    lib
    目录,因为视图中不需要它。我假设这些验证是一种预验证,并且您的模型没有定义所有这些验证字段。否则,最好为您的模型编写一些自定义验证器。

    Rails中的Lib文件夹通常用于支持控制器或模型的长方法。所以我们可以从不同的控制器调用这些方法


    如果这是必需的,那么就去lib文件夹,创建一个类。在不同的控制器和模型中调用这些类方法。

    当我们有支持控制器或模型的长方法时,总是使用Rails中的Lib文件夹。所以我们可以从不同的控制器调用这些方法


    如果这是必需的,那么就去lib文件夹,创建一个类。在不同的控制器和模型中调用这些类方法。

    当我们有支持控制器或模型的长方法时,总是使用Rails中的Lib文件夹。所以我们可以从不同的控制器调用这些方法


    如果这是必需的,那么就去lib文件夹,创建一个类。在不同的控制器和模型中调用这些类方法。

    当我们有支持控制器或模型的长方法时,总是使用Rails中的Lib文件夹。所以我们可以从不同的控制器调用这些方法

    如果这是必需的,那么就去lib文件夹,创建一个类。在不同的控制器和模型中调用这些类方法