在模型中访问Rails RESTful路由

Jez*_*dle 12 ruby-on-rails

要清理我的代码,我想在我的Rails模型中访问RESTful帮助程序.就像是:

users_path
Run Code Online (Sandbox Code Playgroud)

等等

谢谢.

te_*_*ris 44

只是重新打开这个:对于所有rails,包括UrlWriter在内的3+用户将无法使用,因为它已被弃用.虽然有用,但是:

include Rails.application.routes.url_helpers
Run Code Online (Sandbox Code Playgroud)

希望能像我一样帮助任何偶然发现这一点的人.

  • 你不需要包括帮助者; 试试`Rails.application.routes.url_helpers.users_path` (17认同)

All*_*rgi -3

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
Run Code Online (Sandbox Code Playgroud)