問題タブ [view-helpers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails-3 - Rails3 Engine ヘルパーのオーバーライド
だから私は Rails 3.0 Engine (gem) を持っています。
app/controllers/advanced_controller.rb でコントローラーを提供し、app/helpers/advanced_helper.rb で対応するヘルパーを提供します。(もちろん、いくつかのビュー)。
これまでのところ、コントローラー/ヘルパー/ビューは、gem を使用してアプリケーションで自動的に利用できるようになりました。
しかし、ローカル アプリケーションがエンジン内の AdvancedHelper からヘルパー メソッドを選択的に上書きできるようにしたい (理想的には「super」を呼び出せるようにしたい)。それは、完全に合理的な (そして私は一般的だと思う) 設計を許可したいのはかなり合理的なことでしょうか?
問題は、それを機能させる方法が見つからないようです。アプリケーションが独自の app/helpers/advanced_helper.rb (AdvancedHelper) を定義している場合、エンジンからのものはまったく読み込まれません。そのため、(super を呼び出さずに) そこにあるすべてのヘルパー メソッドを置き換えたい場合に機能します。 、ただし、オーバーライドしたいだけの場合はそうではありません。
そういうのは実際には意味があるので、別の名前を選びます。私のローカルのものを ./app/helpers/local_advanced_helper.rb (LocalAdvancedHelper) と呼びましょう。このヘルパーは読み込まれます。元のエンジンの AdvancedHelper にないメソッドをそこに配置すると、ビューで使用できます。
しかし、エンジンの AdvancedHelper と同じ名前のメソッドをそこに配置すると、ローカルのメソッドは決して呼び出されません。AdvancedHelper (エンジンから) が LocalAdvancedHelper (アプリから) よりもコール チェーンの前にあるようです。確かに、デバッガーをオンにして helpers.ancestors を見ると、まさにそれが起こっていることであり、先祖チェーンで必要な逆の順序になっています。したがって、AdvancedHelper (エンジンから) は理論的には「super」を呼び出して (アプリから) LocalAdvancedHelper を呼び出すことができますが、もちろんそれを行う意味はあまりありません。
でもやりたいことが… できない。
アプリがエンジンからのヘルパー メソッドを選択的にオーバーライドできるこのデザインを提供する方法はありますか?
なぜそれがこのように機能しているのか、誰にも説明がありますか? Rails の実際のソース コードを調べてみましたが、すぐにわからなくなってしまいました。この部分のコードは、非常に抽象的で、いくつかの場所に分かれています。
これはかなり難解な質問です。私は悲観的ですが、誰もが何らかのアイデアを持っていると思います。驚かせてください!
== 更新
さて、Rails コードのどの部分がどこで呼び出されているかを理解するために、各ヘルパーに「def self.included ; debugger ; end」を配置し、デバッガーで例外を発生させてスタック トレースを表示します。
Rails のコードはあちこち飛び回っていて、かなり混乱しています。
しかし、「標準」名のヘルパー (WidgetController の WidgetHelper など) は、特定のコントローラーの「マスター」ビュー ヘルパー モジュールに含めるために、他のヘルパーとは異なる Rails コードによって呼び出されることは明らかです。ヘルパーに別の名前を付けてから、("helper OtherNamedAdvancedHelper") を使用してコントローラーに手動で含めるかどうか疑問に思っています。それによってロード順序が変更される場合があります。
php - ビュー スクリプトが zend フレームワークのビュー ヘルパーを認識しない
私の問題は、ビュースクリプトからビューヘルパーを呼び出すと、次の行を介して構成ファイルにすべての情報パスを適切に追加したにもかかわらず、呼び出すことができないということです。
また、ヘルパーをブートストラップファイルに登録しました
しかし、無駄に、まだこのエラーメッセージを出力しています:
期待どおりのカスタム ビュー ヘルパー パスが含まれていません。
ビュー ヘルパーのパスは次のとおりです: library/ZF/View/Helper/OutputHelper.php
ruby-on-rails - ヘルパーからレンダリングすると、「テンプレートがありません」というエラーが発生します
クーポンビューで、helpers / cupons_helper.rbのメソッドを呼び出します。このメソッドは、出力を返す目的でパーシャルを呼び出します。しかし、「テンプレートがありません」というエラーが表示されます。関連するコードは次のとおりです。
そして、エラーメッセージは次のとおりです。
問題は、「new_include」の「render」の先頭の「_」であることが判明しました。問題が解決しました。
zend-framework - コハナでヘルパーを見る
私は次のことを行う方法を見つけようとしています:
ページがリロードされたときにajaxとページの内部部分を介してロードされるアクションを作成したいと思います。
View HelperZEND
を使用してフレームワークでこれを知っていますが、方法がわかりませんKohana
コハナは初めてです。
編集: 私がやろうとしていることの例http://www.espncricinfo.com/west-indies-v-india-2011/engine/current/match/489228.html?CMP=chrome
上記のWebページでは、Webページ全体がロードされると、ライブスコアボードにロードされます。ただし、[スコアボードの更新]ボタンをクリックすると、ライブスコアボードのみがajaxに置き換えられます。
action_scoreboard
スコアボードデータを取得するために使用されるアクションを作成したいと思います。そしてaction_index
、ページ全体をロードするために、しかしaction_index
私がビューにいる間、を呼び出す必要がありますaction_scoreboard
。
ありがとう
ruby-on-rails - モデルでRailsヘルパーを使用する
重複の可能性:
レール内のモデルのビューヘルパーにアクセスする
これはおそらく私が頻繁に行うべきことではないことはわかっていますが、モデル内でヘルパーを使用したいと思います。
レポートモデルでスプレッドシートを生成していますがtime_ago_in_words
、ActionView::Helpers::DateHelper
これは実行可能ですか、それともビューで生成する必要がありますか?
ruby-on-rails-3 - 名前空間内のすべてのビューのヘルパー
名前空間内のすべてのビューで使用できるビュー ヘルパー ファイルを作成する方法はありますか? application_helper.rb と同様ですが、特定の名前空間に対してのみ機能します。
具体的には、「office」という名前空間があります。"office" 名前空間内の任意のビューにアクセスできるビュー ヘルパーを設定したいと考えています。
ありがとう。
zend-framework - Zend Framework の URL ビュー ヘルパーに完全な URL が表示されませんか?
次のような URL があります。
私のページネーター ビュー スクリプトでは、URL ビュー ヘルパーを呼び出して、ページ番号を URL に追加しています。
URL がリセットされないように渡すfalse
必要がありますが、生成される URL には元のクエリ パラメータが含まれません。
...そして、次のようになります。
私は何を間違っていますか?
node.js - Express.js の EJS - Express Helpers が機能しない - (app) in require
Express.js で EJS テンプレート エンジンを使用しており、ビュー ヘルパーを使用したいと考えています。github でこれを見つけました: https://github.com/tanema/express-helpersですが、使用しようとすると次のエラーが発生します。
一方、この行は app.js の 12 行目です。
そして私がそれを作るなら
エラーはスローされますが、機能しません。
app.js ファイルのトップは次のとおりです。
アイデア?
前もって感謝します!
ruby-on-rails-3 - ヘルパーの子クラスでブロックをキャプチャする方法は?
私は次のことをしようとしています:
メソッドheading
またはブロックに文字列 (または記号) を指定します。
ビューで:
(getmh
はこの例のためPModuleHelper
のものであり、アプリケーションの他のプロセスによって返されるため、これについてコメントしたりheading
、クラスメソッドではなく通常のヘルパーメソッドを作成することを提案したりする必要はありません)
残念ながら、私は常に次のエラーが発生します。
capture(&block)
コールの回線番号付き。
capture
独自のヘルパー クラス内で使用する方法は?
ruby-on-rails-3 - Rails select_collection
私はこのようなsmthを持っています:オプション付きのf.collection_select
そのcollection_selectの標準的な動作を変更する必要があります(そこにいくつかのオプションを追加する必要があります)
どこでやればいいですか?
このコードは機能していないと思いますが、あなたはその考えを理解するでしょう