Доступ к Rails RESTful маршрутов в модели - PullRequest
12 голосов
/ 10 августа 2010

Для очистки моего кода я хотел бы получить доступ к помощникам RESTful в моей модели Rails. Что-то вроде:

users_path

и т.д.

Спасибо.

Ответы [ 3 ]

43 голосов
/ 23 февраля 2012

Просто для повторного открытия: для всех пользователей rails 3+, включая UrlWriter, работать не будет, поскольку он устарел.Но что работает, так это:

include Rails.application.routes.url_helpers

Надежда, которая поможет любому, кто наткнулся на это, как я.

0 голосов
/ 24 января 2011
class ActiveRecord::Base
 include ActionController::UrlWriter

 host = case ENV['RAILS_ENV']
 when "production"
   "yourlivedomain.com"
 when "development"
   "localhost:3000"
 end
 default_url_options[:host] = host
end
0 голосов
/ 10 августа 2010

Почему вы хотите получить доступ к маршрутам в вашей модели?Это нарушение шаблона Model / View / Controller (MVC), который лежит в основе Rails.У моделей не должно быть никаких знаний о маршрутах, которые являются контроллером и представляют интерес.Модели должны стоять отдельно от пользовательского интерфейса.

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

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