Как я должен организовать эту функциональность, подобную Instapaper, в Rails?

#ruby-on-rails-3 #architecture #model #controller #instapaper

#ruby-on-rails-3 #архитектура #Модель #контроллер #instapaper

Вопрос:

Instapaper, если вы этого не знаете, — это букмарклет, который сохраняет ваш текущий URL-адрес в вашей учетной записи. По сути, букмарклет загружает скрипт на страницу с параметрами в URL этого скрипта с чем-то вроде

 z.setAttribute('src', l.protocol '//www.instapaper.com/j/Jabcdefg?u='
        encodeURIComponent(l.href)'amp;t=' (new Date().getTime()));
        b.appendChild(z);
  

Итак, это отправка запроса на пользовательский запутанный URL-адрес вместе с URL-адресом текущей страницы.

Мне интересно, как подобный сервис будет настроен в приложении Rails. Работа явно выполняется чем-то, называемым, возможно, parser , которое, вероятно, будет моделью (например, оно выполнит HTTP-запрос, проанализирует и сохранит данные). Можете ли вы перенаправить непосредственно в модель? Вам нужен контроллер над ним для обработки входящих запросов? (Я пробовал это последнее, и оно автоматически загружает представление, которое мне не нужно / хотеться).

Я хотел бы получить несколько советов по этой общей архитектуре. Спасибо!

Ответ №1:

Я думаю, вы не можете перенаправить напрямую к модели.
Итак, вам нужен контроллер над ним для обработки входящих запросов.
И используйте «render: nothing => true», если вы не хотите, чтобы представление отправлялось в браузер.