Rails视图不一致呈现

时间:2010-01-10 03:58:09

标签: ruby-on-rails ruby views

我喜欢Rails如何灵活地命名视图文件,即index.erbindex.html.erb基本上做同样的事情。

问题是我合并了两个单独的项目,其中一个项目使用filename.erb查看所有项目,另一个项目使用filename.html.erb

看起来Rails只需要一个命名方案,因为我只会为.erb扩展名的视图丢失模板错误。

我可以解决这个问题吗?我是否应该想要解决这个问题?或者我应该咬紧牙关并手动重命名我的一半视图文件?

3 个答案:

答案 0 :(得分:1)

对我而言,听起来您正在使用的命名约定可能存在问题。

看看当你选择一个不起作用的动作然后用以下方法明确尝试和渲染模板时会发生什么:

render :template => 'products/show'

'products / show'是views目录中布局的路径。 如果这不起作用,可能有助于找到问题。

要尝试的另一件事是在您的操作中使用格式声明:

respond_to do |format|
  format.html # index.html.erb
  format.xml  { render :xml => @products }
end

这里的文档也非常明确地说明了如何找到文档的约定。 http://guides.rubyonrails.org/layouts_and_rendering.html

希望有所帮助, 大卫

答案 1 :(得分:0)

你应该坚持*.html.erb的更现代的轨道惯例。

答案 2 :(得分:0)

您使用的是不同版本的Rails吗?低于2.0的Rails版本不支持.html.erb格式。