我的控制器:
class SchoolController < ApplicationController
def index
...
end
def edit
@school=School.find_by_id params[:id]
end
def check_teachers
@teachers = @school.teachers
#How to show teachers' names and titles in a lightbox by javascript ?
end
end
如上所述,我有一个check_teachers
方法,我在其中获得了一个教师对象列表。每个Teacher
对象都有name
和title
个属性。
按钮点击视图会触发调用check_teachers
方法:
我想在灯箱中显示所有教师name
和title
。我想我需要 javascript 来实现这一点。但我不知道如何将所有教师的数据从 Rails 传递到 javascript 并在js实现的灯箱中显示数据......
任何人都可以提供任何帮助吗?
答案 0 :(得分:1)
你可以用ajax做到这一点。最简单的方法是使用FancyBox(jquery插件,http://fancybox.net/home)
你的按钮代码应该是
<a id="ajax_button" href="<%= url_for :controller => :school, :action =>:check_teachers, :id=>@school.id %>">Check teachers</a>
然后添加此javascript
$(document).bind('load', function() { $("#various3").fancybox({ajax:{type : "GET" } })
并且您的方法控制器操作应该类似于
def check_teachers
@school = School.find(params[:id])
@teachers = @school.teachers
end
但最好将@school = School.find(params[:id])
移至before_filter