Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails中缺少模板错误_Ruby On Rails_Haml - Fatal编程技术网

Ruby on rails RubyonRails中缺少模板错误

Ruby on rails RubyonRails中缺少模板错误,ruby-on-rails,haml,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。但它反复显示丢失的模板错误。我不知道。有人能帮忙吗?您必须

我陷入了一个问题:

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

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

您必须完全渲染,而不是部分渲染。或
重定向\u至
至url.)

因此,在此
控制器内创建另一个操作,如:

def list
  #do others...
end
并在
app/views/students
文件夹中创建
list.html.haml

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

resources :students do
  get :list
end
尝试不使用部分:

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

不能在控制器中渲染局部,可以渲染默认视图、模板、文件、内联渲染,也可以不渲染任何内容,如文档中所述

如果要使用分部,只需在动作的默认视图模板中渲染它

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

在students文件夹中创建一个template list.html.haml,并在模板中呈现部分内容。分部文件名和模板文件名之间的区别在于,分部文件名前面有一个下划线,因此可以将其识别为分部文件

#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