2011-12-22 4 views
0

간단한 응용 프로그램을 만들고 index.erb 파일을 편집하여 텍스트 상자와 버튼이있는 간단한보기를 만들었습니다.rhoMobile의 기존 모델에 .erb 파일을 추가하는 방법

이제 버튼을 클릭하면 새로운보기로 이동합니다. 모델을 추가 할 수 있으며 그 모델에는 다른 .erb 파일이 있다는 것을 알고 있습니다. 하지만 단일 .erb 파일을 만들거나 기존 모델에 추가하여보기를 편집하고 단추를 누를 때 해당보기를 호출하도록 변경할 수 있습니다.

우리는 모델을 만드는 모든 화면과 비슷합니까 ??

나는 그걸하는 법을 모른다. 나는 검색을 시도했지만 지금까지는 도움이되지 않는다.

답변

0

모든 화면에서 모델을 생성하는 것이 아니라 그 반대입니다. 인터페이스가 필요한 모든 모델에서보기를 만듭니다.

this guide으로 시작하여 기본 원리를 이해하지 않는 이유는 무엇입니까?

CRUD 인터페이스 이외는 무엇입니까? 이 모델이 연결된 컨트롤러의 뷰 폴더에 뷰 파일을 직접 추가 할 수 있습니다. 예를 들어, 모델이 app/models 인 post.rb이고 posts_controller.rbapp/controllers이고 대응하는보기가 app/views/posts 인 경우 app/views/posts 폴더에보기를 추가 할 수 있습니다. 해당보기는 컨트롤러에서 제공됩니다. config/routes.rb 파일에 해당 경로가 있습니다.

말 : 게시물에 landing_page.html.erb보기를 추가하고 싶습니다.

class posts_controller < ApplicationController 
    ... 
    def landing_page 
    end 
end 

앱/뷰/게시물 디렉토리에보기를 추가합니다 (뷰를 렌더링하기 전에 몇 가지 조건을 확인하는 데 유용 할 수 있습니다,이 필수는 아니지만하지만.) 나는 posts_controller.rb에 메서드를 추가합니다 :

# app/views/posts/landing_page.html.erb 

는 설정/routes.rb 파일에 경로를 추가

map.resources do 
    member do 
    get :landing_page 
    end 
end 

지금, 당신은 http://localhost:3000/posts/:id/landing_page의 페이지에 액세스 할 수 있습니다.

+0

당신이 말하고자하는 의미, 당신이 쓸 수

class DemoController < Rho::RhoController ... def index end def new_method end end 

가 NEW_METHOD에 인덱스 뷰에서 탐색하고자으로 새로운 방법을 추가 할 수 있습니다 우리 .erb 파일을 추가하여 html로 내 뷰를 디자인 할 수 있습니까? 하지만 어떻게 추가합니까 –

+0

@AjeetPratapMaurya 내 업데이트 된 답변을 참조하십시오. –

+0

감사합니다. –

3

아니요. 각보기 (.erb)에 대한 모델을 만들 필요가 없습니다. 기존 모델에 새 뷰를 추가하려면 컨트롤러 (.rb)에 새 메서드 (def)를 추가하고 새 메서드와 동일한 이름으로 새 뷰 (.erb)를 추가하기 만하면됩니다.

app/Demo에 DemoController.rb 모델이 있다고 가정 해 보겠습니다. 당신은

<button onclick="location.href='/app/Demo/new_method'">new method</button> 

또는

<button onclick="location.href='<%= url_for :action => :new_method %>'" 
>new method</button> 
관련 문제