У меня есть вызов Ajax, который работает в .js
файл, используя:Могу ли я использовать маршрут маршрута для вызова js ajax?
...
update: function(){
$.ajax({
url: '/groups/order_links',
...
, но я предпочел бы использовать путь
маршрута я сделал расширение файла .js.erb
, и я попробовал, добавив:
...
update: function(){
$.ajax({
url: "#{order_links_groups_path}",
...
или
...
url: "#{order_links_groups_url}",
...
, но я получаю 404 в любом случае - [HTTP/1.1 404 Not Found 76ms]
С POST http://localhost:3000/groups/49
rake routes
показывает мои маршруты включают:
...
PUT /groups/:group_id/links/:id(.:format) links#update
DELETE /groups/:group_id/links/:id(.:format) links#destroy
order_links_groups POST /groups/order_links(.:format) groups#order_links
groups GET /groups(.:format) groups#index
POST /groups(.:format) groups#create
new_group GET /groups/new(.:format) groups#new
edit_group GET /groups/:id/edit(.:format) groups#edit
, которые определяются с помощью:
resources :groups do
resources :links
collection do
post 'order_links'
end
end
groups_controller
имеет
class GroupsController < ApplicationController
...
def order_links
params[:link].each_with_index do |id, index|
Link.where(id: id).update_all(['position = ?',index+1])
end
render :nothing => true
end
...
Rails 4.1
Я подтвердил, что это работает на приложении Ruby on Rails 4.1. – Ahmed