【发布时间】:2017-05-18 00:22:38
【问题描述】:
在Rails guide tutorial 中,articles 控制器神奇地访问了Article 模型。只要控制器和型号名称匹配,这是否会自动为您完成?还是所有控制器都可以访问他们选择的任何模型?
【问题讨论】:
标签: ruby-on-rails model-view-controller
在Rails guide tutorial 中,articles 控制器神奇地访问了Article 模型。只要控制器和型号名称匹配,这是否会自动为您完成?还是所有控制器都可以访问他们选择的任何模型?
【问题讨论】:
标签: ruby-on-rails model-view-controller
这并不神奇,而且不仅限于控制器和模型,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
【讨论】: