我遇到了问题:
respond_to do |format|
format.html {render :partial => 'students/list', :locals => {:roll_nos =>
@roll_numbers}, :layout => false}
end
我在app / views / students文件夹中创建了_list.html.haml。但它反复显示缺少模板错误。我不知道。有人可以帮忙吗?
答案 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