Rails控制器如何访问模型?

时间:2017-05-18 00:22:39

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

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

1 个答案:

答案 0 :(得分:2)

这不是神奇的,这不仅限于控制器和模型,Rails(取决于您使用的版本)自动加载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

或:

CSC_LINK