use*_*081 5 ruby-on-rails railstutorial.org
我正在从Michael Hartl的书中学习Ruby on Rails.我非常喜欢这种写作,结构清晰.不过,我对Rails 3.0和Rails 3.2版本之间的第3.3章差异有疑问:
PagesController成为StaticPagesController@Title 不再在控制器中初始化,而是在每个页面中@Title变量是通过"提供"的功能初始化,并且通过"产量"函数,而不是简单地插入用于<%= @title %>是出于培训原因,还是RoR开发的最新最佳实践?
Dam*_*ien 16
PagesController成为StaticPagesController
没有理由.PagesController很好.他这样做可能是出于清晰的原因(?).
@Title不再在控制器中初始化,而是在每个页面中
这是出于最佳实践/惯例的原因.请看一下这个问题的答案.元内容在MVC中的位置是什么?
@Title变量通过"提供"函数初始化,并通过"yield"函数使用,而不是简单地插入<%= @title%>
与上述答案相同.
有些人认为标题之类的元内容属于视图,因此应该在视图中设置,而不是在控制器中.
这里的实际差异在这里得到了很好的解释:http://api.rubyonrails.org/classes/ActionController/Streaming.html#module-ActionController :: Streaming-label-Communication+ between provide+ layout+ and+ templatecontent_for
请注意,这些更改并非特定于Rails 3.2(除了在Rails 3.1中provide引入的更改stream).
| 归档时间: |
|
| 查看次数: |
3831 次 |
| 最近记录: |