У меня есть контроллер обсуждений, для которого я хотел бы иметь действие редактирования, которое связано удаленно, позволяя вызову AJAX визуализировать частичное на странице (а не перенаправлять на совершенно новую страницу «редактирования».
Моя проблема в том, что я настроил действия в контроллере, и все файлы (я думаю, что это необходимо), но ссылка на странице показа обсуждения перенаправляет браузер на новую страницу, а не через ссылкук действию на контроллере и соответствующему файлу edit.js.erb. Мне интересно, где в моем коде я ошибся ..
Вот код для контроллера обсуждений:
class DiscussionsController < ApplicationController
include DiscussionsHelper
def create
...
end
def show
...
end
def edit
respond_to do | format |
format.js
end
end
end
Который, я бы надеялся, вызвал бы файл js.erb edit.js.erb (который я сейчас заполнил только предупреждением - после того, как эта ссылка будет установлена правильно, я намерен заполнить ее кодом jquery, чтобы сделать частичное редактированиеЯ хотел бы:
alert("hello");
Ссылка, которую я разместил на странице шоу:
<div class="discussion_overview">
<h1><%= @discussion.title %></h1>
<div class="edit_disc">
<%= link_to "Edit", :url => {:action => "edit", :id => @discussion}, :remote => true %>
</div><br>
Как я уже сказал, я думал, что это вызоветфайл edit.js.erb, который я затем мог бы заполнить соответствующим кодом.Тем не менее, link_to вместо этого ссылается на:
http://localhost:3000/discussions/54?remote=true&url[action]=edit&url[id]=54
Есть какие-либо идеи относительно того, что я сделал неправильно?
ОБНОВЛЕНИЕ, сбрасывающее URL => {}, чтобы стать:
<%= link_to "Edit", :action => "edit", :id => @discussion, :remote => true %>
Не решает решение, вместо этого просто изменяет перенаправление на:
http://localhost:3000/discussions/54/edit?remote=true
вместо вызова AJAX для действия редактирования ..