2011-12-22 18 views
0

単純なアプリケーションを作成し、index.erbファイルを編集して、テキストボックスとボタンで簡単に表示できるようにしました。rhoMobileの既存のモデルに.erbファイルを追加する方法

ここで、そのボタンをクリックすると、新しいビューに移動します。 私はモデルを追加することができ、そのモデルにはさまざまな.erbファイルがあることを知っています。 しかし、単一の.erbファイルを作成するか、既存のモデルに追加して、ビューを編集してボタンを押しながらビューを変更できるようにしたいとします。

私たちはモデルを作成する必要があるすべての画面のようですか?

私は同じことをする方法を知らない、私は検索したが、今まで助けていない。

答えて

0

モデルを作成したすべての画面ではなく、その逆です。インターフェイスが必要なすべてのモデルでは、ビューを作成します。

まず、this guideで始まり、基本を理解してください。

CRUDインターフェイス以外は?このモデルが関連付けられているコントローラのビューフォルダにビューファイルを直接追加できます。たとえば、モデルがapp/modelsのpost.rbで、コントローラにposts_controller.rbがあり、対応するビューがapp/views/postsにある場合は、app/views/postsフォルダにビューを追加することができます。ファイルはconfig/routes.rbにあります。

いいえ、投稿にlanding_page.html.erbビューを追加したいとします。私は(これは必須ではありません、が、しかし、あなたはビューをレンダリングする前に、いくつかの条件をチェックするために、役に立つかもしれません。)posts_controller.rbでメソッドを追加します。

class posts_controller < ApplicationController 
    ... 
    def landing_page 
    end 
end 

アプリ/ビュー/記事のディレクトリにビューを追加します。

# 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

あなたは、我々の言いたいこと.erbファイルを追加して、HTMLで自分のビューをデザインできますか?どのように私はそれを追加する –

+0

@AjeetPratapMaurya私の更新された答えを参照してください。 –

+0

助けてくれてありがとう –

3

いいえいいえ、ビュー(.erb)ごとにモデルを作成する必要はありません。既存のモデルに新しいビューを追加する場合は、新しいメソッド(def)をコントローラ(.rb)に追加し、新しいビュー(.erb)を新しいメソッドと同じ名前で追加します。

app/DemoにモデルDemoController.rbが存在するとします。あなたはNEW_METHODにインデックスビューから移動するに

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

    def new_method 
    end 

end 

などのそれに新しいメソッドを追加することができ、あなたが書くことができ

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

または

<button onclick="location.href='<%= url_for :action => :new_method %>'" 
>new method</button> 
関連する問題