0

私はレールが新しく、次の仕組みを理解できるように助けてくれることを願っています。既存のコントローラにメソッドを追加する

現在、私にはprojectsという名前のコントローラ(projects_controller.rb)があります。私はRORについて理解しているので、各コントローラにはindex、new、create、edit、showなどの基本的な(固有の)メソッドがあります。ヘルプ情報を表示するための "help"メソッドとビューを追加したいと思います。

現在、ユーザーは多くのプロジェクトを作成できます。プロジェクトには、ユーザーが入力する一連のフィールドが含まれています。ユーザーが(プロジェクト画面上のリンクを介して)アクセスできるヘルプページを追加して、各プロジェクトフィールドについて説明し、それをどのように記入するのがよいかをご希望です。私はこれを独立したページ(プロジェクトのページに表示された情報だけでなく)にしたいと思います。

今のよう

(プロジェクトを編集する場合)、プロジェクトへのURLは次のとおりです。はlocalhost:3001 /プロジェクト/ ID /編集

私はlocalhostのようにヘルプファイルへのパスを希望:3001/projects/id/help

上記のパスにヘルプファイルを配置したい場合は、「ヘルプ」と呼ばれる新しいメソッドをプロジェクトで作成する必要があると仮定して修正しますコントローラ?もしそうなら、それを機能させるためにroutes.rbに追加する必要があるものがありますか?そして、Hamlのlink_to関数を使ってリンクを作成しますか?

これは混乱しているか疑問に思うのですが、申し訳ありません。私はあなたの時間を感謝します。あなたが正しい道にいるかどうかについて何か提案があれば教えてください。どうもありがとうございます!

答えて

1

私は現在、あなただけ

resources :products do 
    get :help, :on => :member, :as => :help 
end 

でこれを交換して、コントローラのメソッドを追加し、ERBを使用してrの場合help.erb.html(という名前のビューを追加するルート

resources :products do 

end 

でこれを持っていると思います)のビュー/製品フォルダにあります。

help_pathとhelp_urlを使用できます

+0

Dnyan、ありがとうございました...これはすごく助けになりました!私の唯一の質問は、別のビューからhelp.html.hamlにリンクすることです。 help_pathは機能しません...私はヘルプコントローラを持っていないので、それは可能でしょうか?既存の(プロジェクト)コントローラの単なるメソッドです。これまでのすべてのあなたの助けをありがとう! –

+0

はproducts_help_pathとproducts_help_urlを使用します –

関連する問題