나는 더 튼튼한 컨트롤러, 더 넓어진 모델 사고 방식을 다하고 있습니다. 당신이 (당신이 나 같은 가정 모델로 이동해야합니다 것을 확인하고 당신이 게을러 및 컨트롤러 때문에 당신을 리팩토링 할 필요가 어떻게레일 : 못생긴 컨트롤러를 청소
:
나는 대해 이동하는 방법을 알고 싶어컨트롤러에 새 요소를 작성하고 구조화하는 방법. 다음 예제를 참조하십시오. 예
은 내가 polymophic "투표"에 대한 상대적으로 지저분한 컨트롤러를했다. ,
def up
vote = Vote.new
vote.vote = true
vote.voter = current_user
vote.voteable = Recipe.find params[:id]
vote.save
end
나에게 그냥 조금 추한, 나는 아마 대신 새의 create
를 사용한다 : 나는 꽤 잘 정리했습니다,하지만 난 좀 더 나은이 작업을 향상시킬 수 있는지 알고 싶어 하지만 비표준 동작 (REST 관련)을 사용하여 여기에 치명적인 경로를 몰고 갈지 궁금합니다.
지금은 new
으로 전환 중입니다.하지만 커뮤니티에 대한 관점을 분명히 알고 싶었습니다. 당신이 뭔가를 할 것이다, 그래서 나는 사용자 모델에 투표를 이동 고려해 볼 수 있습니다 귀하의 경우에는
before_filter :load_recipe, :only => %w(show edit update destroy up down)
private
def load_recipe
@recipe = Recipe.find(params[:id])
end
: 가끔 객체를로드하는 before_filter를 만들 특히 활동이 많은 편안하고 컨트롤러에서
우수한 조언. –