Чтобы очистить код, мне бы хотелось получить доступ к помощникам RESTful в моей модели Rails. Что-то вроде:
users_path
и др.
Спасибо.
Ответ 1
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
Ответ 2
Просто, чтобы повторно открыть это: для всех рельсов 3+ пользователи, включая UrlWriter, не будут работать, поскольку они устарели. Что работает, но это:
include Rails.application.routes.url_helpers
Надеюсь, что это поможет любому, кто наткнулся на это, как я.
Ответ 3
Почему вы хотите получить доступ к маршрутам в своей модели? Это является нарушением шаблона Model/View/Controller (MVC), который лежит в основе Rails. Модели не должны иметь никаких знаний о маршрутах, которые являются контроллером и рассматривают проблему. Модели должны быть автономными от пользовательского интерфейса.
Если вы сказали нам, чего вы пытаетесь достичь, тогда мы сможем предложить лучший подход.