Как правильно сделать обратный вызов ajax с Rails 3 link_to - PullRequest
3 голосов
/ 11 марта 2012

Вот сценарий.

Резюме: У меня есть решение, но я хочу знать, является ли это наилучшим способом получения обратного вызова AJAX, работающего в Rails 3.

Проблема: У меня есть ссылка, по которой при нажатии она должна использовать AJAX для обновления существующего HTML-элемента (в моем случае div) на странице:

<div id="project_content">Change Goes here</div>

Мое решение В моем projects/show.html.erb

true}%>

Мой TasksController выглядит следующим образом:

class TasksController < ApplicationController
    def index
        respond_to do |format|
              format.html
              format.js { render action: "index", script: true }
        end
    end
end

и в моем tasks/index.js.erb Iиметь

$ ("# project_content"). html ("<% = escape_javascript (render: частичный => 'tasks')%>");

Вопрос: Это все работает.Но ПОЧЕМУ я должен делать все это?Не было (или не было) решения, которое раньше всех нас просто делало это

<%= link_to "tasks", project_tasks_path(@project), {:remote=>true, :update=>"project_content"} %>

И тогда бы это загружало tasks/index.js.erb в любой элемент ключа:update ссылки?

Ответы [ 2 ]

0 голосов
/ 14 марта 2012

Я нашел ответ здесь

Печально, что эта функция была удалена из Rails 3.

0 голосов
/ 13 марта 2012

Вы пытаетесь заново изобрести link_to_remote из старых Rails 2.3. Такое решение в целом оказывается слишком сложным и жестким.

...