2010-08-10 2 views

답변

-4
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 
-1

왜 모델의 경로에 액세스 하시겠습니까? 이는 Rails의 핵심 인 Model/View/Controller (MVC) 패턴을 위반 한 것입니다. 모델은 관제 대상이되는 경로에 대한 지식이 없어야한다. 모델은 사용자 인터페이스에서 독립적이어야합니다.

귀하가 달성하고자하는 것을 말하면 더 나은 접근 방법을 제안 할 수 있습니다.

+3

웹 사이트에서 새 항목을 만든 후에 트위터 게시물을 보냅니다. 트윗을 만들기 위해 "after_create"를 사용하고 싶습니다. 따라서 아이템에 대한 링크가 필요합니다. 안식년의 경로를 지나가는 컨트롤러에서의 호출 대신, 나는 지금 그것을하고있다. 나는 스키니 컨트롤러 - 뚱뚱한 모델을 구현하고 싶다. 예 컨트롤러에서 한 줄만 제거하면됩니다. 그러나 완료 할 수 있으면 ... –

+4

이 경우 제어기에서 작업하는 것이 적절하다고 생각합니다. –

40

그냥 다시 열면 : 모든 레일에 대해 UrlWriter를 포함한 3 이상의 사용자는 더 이상 사용되지 않으므로 작동하지 않습니다. 그래도 작동하는 것은 무엇입니까 :

include Rails.application.routes.url_helpers 

희망은 내가 이런 식으로 우연히 만난 사람을 돕습니다.

+16

도우미를 포함 할 필요가 없습니다. try'Rails.application.routes.url_helpers.users_path' –

+0

모듈/클래스에 경로가 필요할 때마다 모든 것을 정말로 작성하고 싶습니까? 일단 꺼져 있으면 받아 들일 만하지만 여러 위치에서 액세스하려면 포함을 수행하는 것이 좋습니다. – foomip

관련 문제