它们的关系是: controller -----------> view -----------> 浏览器
而解析过程就是:
---------->config/routes.rb ----------->app/controller/name_controller.rb --------------------------> app/view/name.html.erb,
当app/view/name.html.erb没有内容时,浏览器会报下面的错误信息的:
Missing template main/name with {:locale=>[:en, :en], :formats=>[:html], :handlers=>[:rxml, :builder, :erb, :rjs, :rhtml]} in view paths "/data/photo/app/views"
从错误信息上面看得出,原来app/views/里面的东西都只一些模板,而内容呢就是app/controller/name_controller.rb里面的东西。这样可以拿一部手机去比喻它们间的关系:我手机上那几寸大的屏幕就是app/view/name.html.erb, 而手机后面的芯片组就是app/controller/nmae_controller!
Controller前面还有一层,那就是模型层。模型层是代码与数据库之间的那道门。除非通过模型,否则应用程序无法从数据库获得任何东西,当然也无法把任何东西写回数据库。