Rails:默认情况下如何不渲染视图?

时间:2015-11-15 02:53:08

标签: ruby-on-rails angularjs ruby-on-rails-4

我正在将AngularJS与Rails集成,并试图弄清楚我是否应该使用yield,ui-view或两者兼顾。目前我使用angular-rails-templates进行ui-view,但在application.html.erb中没有<%= yield %> Rails仍在请求默认视图(例如views / users / edit.html.erb)

我在Rails&#39;文档,

  

规则是,如果在控制器操作结束时没有显式呈现某些内容,Rails将自动在控制器的视图路径中查找action_name.html.erb模板并进行渲染。

那么,如何阻止rails请求基本为空的视图文件?或者我应该以不同的方式构建它?

1 个答案:

答案 0 :(得分:0)

基本上你要做的是拥有application.html.erb布局,但没有模板,所以你的角度可以做所有的工作。

这不是最好的建筑设计,可能会打破一些最佳实践,但你能做的就是这个。创建application.html.erb的副本并将其命名为something.html.erb,其中“something”是您的操作。所以默认情况下它会请求这个模板。然后做:

render :layout => false

layout false

基本上我们正在做的是将布局代码移动到模板级别并禁用布局,因此我们只请求一个视图文件。