在rails上的ruby中缺少模板错误

时间:2014-01-28 07:31:48

标签: ruby-on-rails haml

我遇到了问题:

 respond_to do |format|
     format.html {render :partial => 'students/list', :locals => {:roll_nos =>        
    @roll_numbers}, :layout => false}
 end 

我在app / views / students文件夹中创建了_list.html.haml。但它反复显示缺少模板错误。我不知道。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

你必须完全不是部分渲染。或者redirect_to到网址。 :)

在此controller中创建另一个操作,例如:

def list
  #do others...
end

并在list.html.haml文件夹中创建app/views/students

将此操作添加到routes.rb,例如:

resources :students do
  get :list
end

尝试不偏袒:

 respond_to do |format|
     format.html {render :list, :layout => false}
 end 

答案 1 :(得分:0)

您无法在控制器中渲染部分,您可以渲染默认视图,模板,文件,渲染内联或渲染任何内容,如文档中所述

http://guides.rubyonrails.org/layouts_and_rendering.html#using-render

如果要使用partial,只需在默认视图模板中将其渲染为动作。

respond_to do |format|
     format.html {render :layout => false}
end 

OR

在学生文件夹中创建模板list.html.haml,并在模板中渲染部分。部分文件名和模板文件名之间的区别在于,partial在其前面有一个下划线,并且被识别为部分

#students/list.html.haml
render :partial => 'students/list', :locals => {:roll_nos =>        
@roll_numbers}

在你的控制器中你渲染模板

respond_to do |format|
     format.html {render :template => 'students/list', :layout => false}
end