【问题标题】:How does a Rails controller get access to a model?Rails 控制器如何访问模型?
【发布时间】:2017-05-18 00:22:38
【问题描述】:

Rails guide tutorial 中,articles 控制器神奇地访问了Article 模型。只要控制器和型号名称匹配,这是否会自动为您完成?还是所有控制器都可以访问他们选择的任何模型?

【问题讨论】:

    标签: ruby-on-rails model-view-controller


    【解决方案1】:

    这并不神奇,而且不仅限于控制器和模型,Rails(取决于您使用的版本)自动加载 app/ 目录下的每个类和模块,这意味着您可以从任何其他类访问任何类在整个项目中上课。所以如果你在app/目录下添加一个新目录和文件,比如app/services/foo_bar.rb。您还可以从控制器、模型或其他服务类访问它,例如:

    class ArticlesController < ApplicationController
      def new
        @article = Article.new
        FooBar.do_something(@article)
      end
    end
    

    或:

    class Article < ApplicationRecord
      #....
    
      private
    
      def lets_all_foo_our_bars
        FooBar.foo_my_bar
      end
    end
    

    【讨论】:

    猜你喜欢
    • 2022-08-15
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多