2012-07-18 2 views
1

Rails 3.2에서 약간 잃어 버렸습니다. 저는 Padrino에서 다음과 같은 메소드를 사용하여 스키니 컨트롤러를 작성했습니다.Padrino에서 Rails 3.2까지 - 스키니 컨트롤러

15 post :task, :provides => :js do 
16  result = execute(params) 
17  render "home/task" 
18 end 

일부 메소드는 모델과 정확히 상호 작용하지 않습니다. Rails 3.2에서는 컨트롤러에서 헬퍼를 사용하여 Rails 2.x 나 Padrino처럼 깨끗하게 만들 수 없습니다. 나는이 같은 몇 가지 방법을 만들었습니다

10 def show                                    
11  @server = server_details                                
12  respond_with(@server) if request_match_server_address?                        
13 end  

그러나 일시적으로 될 것입니다 가정,와 ApplicationController에 ServersController에서 코드를 이동, 지금 application_controller 못생긴 및 biggger (삼g의와 확인)입니다.

내 컨트롤러를 어떻게 아름다움으로 만들 수 있습니까? server_details와 같은 메소드를 넣을 곳은 어디입니까? tasks_controller.rb

respond_to :js 
def show 
    @result = execute(params) 
    respond_with @result 
end 

에서 routes.rb

post "/task", to: "tasks#show" 

에서

답변

1

이 자동으로 뷰를 사용합니다 tasks/show.js

행운 montrealmike의 대답은 당신이 번역 할 어떻게

0

Padrino to Rails 3

그러나 물어 본 질문 ("?")에 대해
정상적인 루비 모듈처럼 Rails 3에서 도우미를 사용할 수 있습니다. 당신이 애플 리케이션/헬퍼/server_helper.rb이

include ServerHelper 
def show 
    @server = server_details 
    respond_with(@server) if request_match_server_address? 
end 

module ServerHelper do 
    def server_details 
    ... 
    end 
    def request_match_server_address? 
    ... 
    end 
end 

편집 : 당신은 또한와 ApplicationController에 포함 할 수 있으며 것

당신은 단지 그들을 포함해야 다른 모든 좋은 작은 수업과 같이 계승 될 수 있습니다.

관련 문제