将页面视图显示为jQuery-UI对话框

时间:2011-12-13 08:53:10

标签: jquery ruby-on-rails ruby-on-rails-3 jquery-ui ruby-on-rails-3.1

我正在开发一个 Rails v2.3.2 应用。一个非常基本的Rails结构实现如下:

我有控制器

class SchoolController < ApplicationController
  ...

  def check_teachers
    @school = School.find params[:id]
    @teachers = @school.teachers
  end

end

route.rb中的路径定义:

map.check_teachers, '/school/check_teachers/:id' :controller => :school, :action => :check_teachers

链接点击会触发视图:

link_to 'Check teachers', check_teachers_path(:id => @school.id)

check_teachers 查看check_teachers.html.erb

<div>
Hello 
<%= render :partial => 'show_teachers'%>
</div>

我希望链接点击将上述视图显示为 jQuery-UI对话框,而不是页面视图。如何实现这个??

---- -----更新

请查看我对@plaes的答案的评论。

2 个答案:

答案 0 :(得分:2)

您缺少用于在check_teachers.html.erb中设置对话框的jQuery UI代码:

<script>
$(function() {
  $('#dialog').dialog();
});
</script>
<div id='dialog'>
Hello 
<%= render :partial => 'show_teachers'%>
</div>

此外,您需要包含所需的jQuery依赖项(jQuery和jQuery-UI)。这是一个练习......

答案 1 :(得分:1)

默认情况下,它会呈现一个html页面。 在关闭控制器之前添加此代码

respond_to do |format|
  format.js {}
end

将您的视图重命名为check_teachers.js.erb 在此文件中,包含必要的jquery。