передать данные из Rails в JavaScript в моем случае - PullRequest
1 голос
/ 12 декабря 2011

Мой контроллер:

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.

A кнопка нажатие на представление вызовет метод check_teachers, вызываемый:

Я хотел бы показать всем учителям name и title в лайтбоксе.Я думаю, что мне нужно было бы javascript для реализации этого.Но я не знаю, как я могу передать все данные учителей из Rails в javascript и показать данные в лайтбоксе, реализованном в js ...

ЛюбойМожете помочь с этим?

1 Ответ

1 голос
/ 12 декабря 2011

вы можете сделать это с помощью 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<br> @school = School.find(params[:id])<br> @teachers = @school.teachers<br> end

но лучше переместить @school = School.find(params[:id]) в before_filter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...