Там эта ссылка:отменить действие по умолчанию диспетчерское перенаправлять
= link_to "Close", close_ticket_path(:id => ticket.id), :onclick => $(this).closest('tr').remove()", :remote => true
, какие маршруты в tickets_controller # близко:
def close
@ticket = Ticket.find(params[:id]).update_attribute(:status, "closed")
end
По умолчанию, это действие будет перенаправлять views/tickets/close
. Как отключить перенаправление по умолчанию? Я знаю, как указать настраиваемое перенаправление, но это не то, что мне нужно. Представление управляется сценарием, а db изменяется в действии, поэтому больше действий не требуется, и я не хочу, чтобы страница обновлялась. render
не будет работать ни в коем случае, поскольку содержимое, о котором идет речь, загружается динамически, поэтому в основном делать точно ничего не нужно.
Я нашел это обходное решение, например. включая respond_to :js
и создайте файл close.js.erb
, или переместитесь выше :onclick
в этот файл, но я хочу это делать идиоматично. По сути, ссылка работает сейчас по желанию с respond_to :js
в действии (не включенном здесь), но консоль выдает недостающую ошибку шаблона, что не очень приятно. Я посмотрел в Rails Redirecting, в JS with Rails, Rendering guide и еще несколько, но безрезультатно.
Ой, кажется, что я [пропустил место] (http://guides.rubyonrails.org/layouts_and_rendering.html#using-render). Спасибо :) – medik