2011-04-09 5 views
0

RoR을 배우고 있는데, 처음 튜토리얼 (처음에는 railstutorial)을 읽었습니다. 하지만 첫 번째 간단한 웹 사이트의 로직 레이아웃을 정의하는 데 문제가 있습니다.Ruby on Rails 간단한 웹 사이트 레이아웃

구조는 다음

당신이 가입 양식 또는 로그인에 대한 링크가있는 환영 페이지를 참조하십시오 사이트 .co.kr로 이동합니다. 가입하거나 사이트에 로그인하면 mysite.com/dashboard에 있으며 메시지 목록이 표시됩니다. mysite.com/$username으로 가면 $ username에 대한 메시지를 쓸 수있는 양식이있는 페이지가 나타납니다.

중지. 그게 전부 야. 그것은 매우 간단합니다. 알아요.하지만 배우기위한 것입니다.

문제는 다음과 같습니다. MVC 패러다임을 처음 접했고 앱의 논리 레이아웃이 어떻게 구조화되는지 알지 못합니다. 물론 두 가지 모델이 있습니다 : 사용자와 메시지. 그러나 컨트롤러에 대한? 그리고 어떤 컨트롤러에서 어떤 기능을합니까? 비계를 사용해야합니까? 제발 도와주세요, 전 매우 혼란 스럽습니다. 감사합니다.

답변

0

다른 사람들도 지적했듯이 컨트롤러에는 코드 논리를 포함하고 페이지를 렌더링하거나 리디렉션하여 해당 논리를 기반으로보기를 호출합니다. 컨트롤러에서 원하는 동작을 정의한 다음 경로를 사용하여 특정 URL을 컨트롤러 동작에 매핑 할 수 있습니다. 레일스는 "흐름을 따라 가면서"일어날 수있는 행동에 대한 간단한 가정을하면 훨씬 쉽게됩니다. 사용자와 메시지 모두 해당 데이터베이스 테이블의 행을 나타냅니다. 데이터베이스 테이블에서 행할 수있는 일은 많지 않습니다. 만들거나, 읽거나, 업데이트하거나, 삭제할 수 있습니다 (CRUD). 이 네 가지 논리적 동작에 따라 동작을 정의하면 Rails를 사용하여 쉬운 경로를 생성 할 수 있습니다.

당신은 당신이 원하는 URL 스키마로 백업,하지만 당신이 묘사하는 것은 할 수

  1. 이 때 사용자에 대한 메시지를 작성 대시 보드
  2. 에 대한 사용자위한 메시지를 읽기 다른 페이지 (mysite/username)로 이동

이들 각각은 컨트롤러에 정의해야하는 CRUD 작업에 매핑됩니다.

다른 조언을 듣고 간단히이 튜토리얼을 수행하면됩니다.

1

컨트롤러는 데이터 로직이므로 로그인/가입은 실제로 사용자의 유효성 검사/생성입니다. 사용자 대시 보드를 볼 필요가 있다면 사용자 데이터를 살펴보고 거기로갑니다. 게다가.

메시지는 메시지를 만들거나 볼 수있는 별도의 컨트롤러입니다!

+0

대시 보드는 기능입니까? 어디로 넣어야합니까? 또한, 어떻게 두 컨트롤러와 그 URL을 얻을 수 있습니다. 기다려 주셔서 감사합니다. –

+0

경로를 조사 할 수 있지만 UserController와 userKey가 필요한 Dashboard라는 메서드가 있다고하면 host/User/Dashboard가 표시됩니다. –

+0

이것은 순전히 규칙에 따라 경로에서 변경할 수 있습니다. 따라서 Dashboard는 html (rhtml)을 반환하고 사용자 데이터로 형식이 지정된 UI를 다시 불러올 수 있습니다. –

0

아직 읽지 않은 경우 Getting Started with Rails을 읽으십시오. MVC와 스캐 폴딩에 대한 토론을보십시오. 스캐 폴딩으로 놀아 보면 어디로 가는지 알 수 있고 초보자를위한 좋은 곳입니다.

또한이 책은 Agile Web Development with Rails입니다. 그것은 매우 손 쉽고 쉽게 읽을 수 있습니다.