0

編集:

さて、セルを使用して実行しました。実際、スクリプト化されたセルによって作成された rb ファイルが必要です。

helper ApplicationHelper

これは以下のコメントのエラーを回避しましたが、現在、アプリケーションヘルパー内にメソッドがあります:

  def hr_user_past
    @current_year = current_year
    @hr_user_past ||= Employee.where("username=? and year < ?", session[:hr_user].username, @current_year).order("Year DESC") if session[:hr_user]
    @past_times = @current_year - 2011
    @blart = 'test'
  end

残念ながら、これは私のapplication_controller.rbでdefメソッドを見つけることができないcurrent_yearので、私のフローはすべてめちゃくちゃで、適切な「インクルード」のためにどこに何が必要なのかわからない.

アプリケーション コントローラからの current_year の定義

 class ApplicationController < Actioncontroller::Base

            helper_method :current_year

  ... 
  ...
      def   current_year

         OpenPeriod.maximum :year
      end
 end

また、このすべての作業がレイアウトから呼び出され、データで完全にフェードインしない Twitter ブートストラップ モーダル ダイアログで発生している問題を解決できないことも心配しています (ビューに同じコードを配置すると、正しく動作します)。 ...しかし、一度に1つの問題だと思います...

編集終了

ただし、ここで客観的な質問をしようとしています。背景:

この素敵なログイン、ホームボタン、およびその他のいくつかを備えたナビゲーションレイアウトがあります。それは問題なく動作します。最近、顧客はこれにさらに機能を追加することを望んでいました。つまり、データが入力された状態で動的にドロップダウンするスマートボタンです (私たちが使用する古いフォームから何年も前のもの)。

そのため、アプリは別の場所で Twitter ブートストラップ モーダルを使用しました。この質問をここに投稿しました:

TwitterのブートストラップモーダルはRails3レイアウトでは機能しませんか?

このモーダルがレイアウトから正しく機能するという問題があります。次に、ドロップダウンするこのモーダルには、通常は特定のコントローラーからのかなりの量のデータがありますが、いつでもこのデータを見たいと考えています。これを行うレイアウト方法は方法ではありません。アプリケーション ヘルパー .rb コードを作成してパーシャルを埋め、アプリのすべてのページにそのパーシャルを含める必要がありますか? (常に色あせている問題のように、モーダルの表示が奇妙に修正されるようです)。ここでは、Ruby on Rails に対する私のグリーンネスに問題があると思います。私はその素晴らしいことを知っており、それには多くのことがあり、これは私がその中で行った最初のプロジェクトです. したがって、ここで正しい解決策が何であるかはわかりません。語彙の問題だと思います。私は何を探しているのですか?

フォーム ヘルパー テンプレート パーシャルなど... ここで最も適しているものは何ですか? コーディングには猫の皮を剥ぐ方法がたくさんあることに気づきましたが、どこに尋ねたらよいかわかりません。これを読み直すと主観的になります。基本的

ホームページで設定を行うホーム コントローラーがありますが、このデータは、アプリ内の任意のページからいつでもユーザーに表示される必要があることがわかりました。ナビゲーション レイアウトに移動しようとしましたが、うまくいきません。これは正しいアプローチですか、それともより良いアプローチがありますか?

4

1 に答える 1

1

1 つのアプローチは、Cellsを使用することです。基本的に、セルはデータのフェッチとビューのレンダリングを処理する小型のコントローラーです。これは完全なビューではなく、部分ビューと同様に、アプリケーションの他のビュー、またはすべてのページに何かを表示する場合に役立つレイアウトに含めることができるコンポーネントです。

古典的な例 (彼らがホームページに実装している) はショッピング カートです。アプリ全体に表示されますが、何らかのデータ セットが必要です。それをセルに変換すると、クエリとレンダリングの両方が適切に分離された MVC ユニットに抽出されます。

于 2013-01-31T17:59:42.733 に答える