vre*_*sys 32 ruby-on-rails ruby-on-rails-4
我已经生成了一个新的rails 4(rc1)项目,使用rails new并生成了一个脚手架rails g scaffold.
正如预期的那样,它创建了迁移,控制器和所有必需的视图文件.
它还创建了show.json.jbuilder和index.json.jbuilder.
我假设这是为了帮助模型生成json.控制器也包含format.json调用.
问题:为什么它需要json以及生成的应用程序的哪个部分使用json?它看起来不像(对我来说)视图使用json渲染任何东西,似乎它们在服务器端呈现(@model变量在视图中用于获取内容).
边缘指南(http://edgeguides.rubyonrails.org/)没有提到jbuilder以及为什么需要它.
提前致谢!如果我能澄清这个问题,请告诉我.
Dan*_*ski 34
回答"为什么"部分:
多年来,Rails中脚手架的相关性有所改变.它不再意味着生成无法轻易抽象出来的必要代码.今天,它主要是一个教育工具,为您提供一个有点动态的例子,并展示最佳实践.(这也是他们散布有争议有用性的评论的原因)
换句话说,生成的文件旨在告诉您:
如果您打算使用Rails,这是一个很好的方法.
或在您的具体情况下:
如果您打算使用JBuilder,这是生成JSON的好方法.
他们并不打算说:"这就是必须要做的事情." 或者"你必须保留所有生成的东西,因为它是必要的."
Seb*_*mba 19
如前所述,Rails 4似乎生成文件作为一种模板来响应JSON查询.所以,假设你已经"搭建"了一个模型Car,那么如果你去的话,它将用HTML页面和汽车的详细视图(id 1)进行响应/car/1.
然后,如果你去/car/1.json,它将呈现show.json.jbuilder文件.似乎还有某种自动机制,因为show当脚手架时方法是空的:
def show
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18372 次 |
| 最近记录: |