Относительные URL в javascript / jquery & rails 3 - PullRequest
0 голосов
/ 25 декабря 2011

У меня есть такой URL для каждой записи:

http://localhost:3000/items/3/stuff.json
http://localhost:3000/items/1/stuff.json
http://localhost:3000/items/4/stuff.json
http://localhost:3000/items/9/stuff.json

когда на странице, такой как http://localhost:3000/items/3/, связанный файл JavaScript имеет следующий код:

$.getJSON(document.URL+'/stuff.json');

это позволяет мне получить файл JSON, не беспокоясь об идентификационном номере записи.

Проблема возникает с такими URL, как:

http://localhost:3000/items/3/news
http://localhost:3000/items/3/photos

как это:

$.getJSON(document.URL+'/stuff.json');

будет искать:

http://localhost:3000/items/3/news/stuff.json

что, конечно, не существует.

Есть идеи, как мне решить эту проблему?

Ответы [ 2 ]

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

Вы можете использовать

$.getJSON("../stuff.json", function(data){



});

, если текущий URL "http://localhost:3000/items/3/anything"

РЕДАКТИРОВАТЬ:

$.getJSON(document.URL.match(/\/items\/\d+\//) + "stuff.json", function(data){



});

Если все URL-адреса имеют вид http://host/items/id/anything

0 голосов
/ 25 декабря 2011

Если этот JS вообще визуализируется с помощью Rails (то есть это не что-то, что исходит из Asset Pipeline), тогда вы можете использовать помощники маршрутизации, например:корневой путь к ресурсу, правильное построение маршрута.

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