문제

내가 가지고 있다고 가정 해 봅시다 SessionsController, 사용자 로그인 및 로그 아웃을 제어하지만 실제로 필요한 유일한 조치는 새로운 (로그인 양식 표시), 만들다 (인증 및 로그인) 및 파괴하다 사용자를 로그 아웃합니다.

컨트롤러 에이 세 가지 조치가있는 경우 문제가 있습니까? 아니면 올바르게 편안하게 만들기 위해 모두 구현해야합니까?

그리고 두 번째 작은 질문. 어떤 사람들은 그렇게 말합니다 발판 나쁘고, 그 사람은 손으로 코드를 작성해야하지만, 나는 그것이 매우 유용하고 시간을 절약한다는 것을 알았습니다.

비계를 사용해도 괜찮습니까, 아니면 피해야 할 악한 것이고 그 이유는 무엇입니까?

도움이 되었습니까?

해결책

해당 리소스를 지원하려는 편안한 행동 만 만드는 것은 괜찮습니다. 7 가지 작업을 모두 정의 할 필요는 없습니다. 실제로, 대부분의 컨트롤러는 7 가지 작업을 모두 사용하지 않습니다.

비계를 사용해도 괜찮습니까, 아니면 피해야 할 악한 것이고 그 이유는 무엇입니까?

내장 레일 스캐 폴딩은 주로 시작할 때 땅에서 내릴 수 있도록 설계되었습니다. 나는 개인적으로 몇 가지 이유로 일상적인 개발에 그것을 사용하지 않습니다.

  • 기존 응용 프로그램을 사용하려면 CSS 및 레이아웃 파일을 생성합니다.
  • 그것은 모든 컨트롤러 동작을 생성합니다 (보통 나는 그들 모두를 원하지 않는다고 말했듯이)
  • 거의 원하지 않는 모든 작업에 대한 XML 형식을 만듭니다.
  • "편집"과 "새로운"작업이 모두 필요할 때 양식을 부분적으로 넣지 않습니다.
  • 때때로 다른 테스트 라이브러리 (예 : Dooks 또는 RSPEC)를 사용합니다.

그러나 저는 개발 속도를 높이기위한 스캐 폴딩의 팬입니다. 이것이 내가 만든 이유입니다 nifty_scaffold 생성기 거의 항상 사용합니다. 위에서 언급 한 문제는 없습니다.

다른 팁

필요한 조치 만 구현하는 데 아무런 문제가 없습니다. Rails 2.3에서는 노선에서도 더 명백 할 수 있습니다.

Map.Resources : foo, : only => [: create, : destroy, : new

REST는 실제로 4 개의 동사를 얻는다는 것을 기억하십시오. 업데이트 넣고 삭제하십시오. 레일의 편집 및 새로운 동작은 자원을 편집하기위한 양식을 표시하기위한 Get 동사의 해결 방법입니다. 인덱스 동작은 다른 리소스를 얻는 것입니다. 응용 프로그램 개발 컨텍스트에서 동일한 파일에이를 갖는 것이 더 합리적이기 때문에 다른 자원과 번들로 제공됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top