問題タブ [railtie]
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 - Rails::Railtie: Rails 3 gem の作成で問題が発生しました
私は本当にこれに別の目を使うことができたので、ここに投稿すると思いました. 少し前に、自分の教育目的で基本的な ActiveRecord 拡張機能を作成しました。最近 Railties について読んでいて、Rails 3 で動作させようと考えていました。そのプロセスを理解するために、gem としてパッケージ化することも考えました。Railtie をスキップして、イニシャライザ フォルダ内の従来のモンキーパッチとしてこれを実行すると、問題なく動作します。Railtie を使用して... 何もありません。
私のRailtieは一度も実行されていないので、他に何も起こっていないようです。
誰かがここで何か間違っていると思いますか?
ベスト プラクティスや改善のための提案も歓迎します。
プロジェクト Gemfile:
宝石仕様:
sql_explain.rb
railtie.rb
sql_explain.rb
ruby-on-rails - ActiveRecordのシンプルなRailtie拡張
Rails 3.0.3 gemを作成していますが、動作させることができません。
モデルのいずれかundefined local variable or method 'acts_as_fail'
に追加すると取得します。助けてください!私はこの一見些細なコードに非常に不満を感じています!ありがとう!acts_as_fail
ActiveRecord
ruby-on-rails-3 - Railtie イニシャライザが実行されないのはなぜですか?
Passenger-Monitプラグインを作成しているときに、初期化子を使用するのが最も適切であると考えました。
しかし、何らかの理由でブロック内のコードが実行されませんでした。私はついに回避策を作りました
しかし、なぜ初期化子が実行されなかったのか、興味があります。何が実行を妨げたのでしょうか?
ruby-on-rails-3 - Ruby OnRails3のレールとエンジンの違い
私はこれらの議論に関するいくつかの文書を読みましたが、それらが何であるか、それらの違いは何か、そしてそれらの1つが私のニーズに合うかどうかを明確に理解していませんでした。
他のアプリケーションにプラグインできるアプリケーションを作成する必要があり、それを他のアプリケーションにgemとして含めたいと思います。基本的に、いくつかのモデルが必要です。1つはコントローラーで、ビューはありません。さらに、初期化、ホスティングアプリとジェネレーターからの構成パラメーターのサポートが必要です。
私は正しい道を進んでいますか?
それを行う方法を理解するために私は何を読むべきですか?
アップデート:
afの詳細がたくさんあるとても素敵な記事がここにあります。
基本的に:
RailtieはRailsフレームワークのコアであり、Railsを拡張したり、初期化プロセスを変更したりするためのいくつかのフックを提供します。
Rails :: Engineは、いくつかの初期化子がすでに設定されているRailtieにすぎません。また、Rails::ApplicationとRails::Pluginはエンジンであるため、ここで説明するのと同じ構成を3つすべてで使用できます。
ruby-on-rails - Railtie Initializer がプラグインで実行されていません
私は最近、バージョンが に依存していresources_controller
たため、 の gem バージョンから に切り替えました。 plugin
gem
git
vendor/plugins/plugin/lib/plugin.rb
ファイル内でRailtie
は、次のようになります。
イニシャライザの 1 つにa を追加しましたがrequire 'resources_controller'
、このファイルを適切にロードしています。問題は、Railtie
が評価される (puts
クラス ブロック内の a がヒットする) にもかかわらず、実際には初期化ブロック自体を呼び出すようには見えないことです。これは、メソッドActionController
を含めるために拡張する場所であるため、もちろん重要です。resources_controller_for
この質問は、こことここで出てきたようです。どちらの場合も、問題を回避する他の方法を見つけましたが、ブロックが呼び出されなかった理由について直接的な回答はありませんでした。
Rails docs で私が言えることから、初期化ブロックに好きな名前を付けることができ、実行する必要があります。問題ではないと思いますrails s -e production
が、開発モードでも同じ問題が存在すると思いますが、本番環境で実行しているときに最初に問題に気付きました。
何が起こっているのでしょうか?
参考までに、完全なプラグインはこちら: https://github.com/ianwhite/resources_controller
ruby-on-rails-3 - Railties を使用して gem から rails 3 routes.rb にルートを挿入する (デバイスの問題)
railtie を使用して、gem からホスト アプリへのルートを自動的に挿入したいと考えています。これまでのところ、次のようなものがあります。
これは機能しています (ホスト アプリから呼び出されています) が、/fabes
ルートにアクセスしようとしたり、単にルートを一覧表示しようとすると、devise エラーで失敗します:
このようにルートを直接注入できるかどうか、または代わりにジェネレーターを使用する必要があるかどうかはわかりません..
この問題について何か考えはありますか?
ruby-on-rails - Railsはコントローラーを破壊しません
タイトルにはほとんどあります。私は他の誰かと一緒にプロジェクトに取り組み、次にgitリポジトリを自分のコンピューターに複製し、新しいコントローラーを追加し、それからもっとよく考えて実行しました。
(requestsはコントローラーの名前です)、この無限のエラーメッセージを取得するためだけに:
以前は機能していたので、何が起こっているのでしょうか。上書きされたものを再インストールする必要がありますか?
また、私が取っているレールのチュートリアルに関するすべてのものを貼り付けるエラーが一体なぜあるのかという考えはありますか?そのテキストがファイルのどこかにあることを覚えていませんか?
ありがとう
ruby-on-rails-3 - Rails gem 非互換性クリアランス & railties、どうすればいいですか?
Rails 3.017 とクリアランス 1.0.0.rc2 があり、gem 'jquery-rails', '~> 2.1' をインストールしようとしています
古いバージョンの jquery-rails が必要ですか? もしそうなら、どうすればこれを理解できますか?
ありがとうジョエル
ruby-on-rails - Railtie: イニシャライザと lib ローディング フックにアクセスする方法は?
Railtie を介してロードされる Rails アプリケーション用の gem を開発しています。私は基本的に、古いRailsアプリのスタイルで、ライブラリといくつかのイニシャライザにモデルを挿入しています。私の主な懸念は、Rails アプリケーションのローディング ロジック全体で、ロジックを挿入するのに最適な場所を正確に把握していないことです。私の要件は、アプリの初期化子の前に宝石の初期化子をロードする必要があり、ライブラリと同じことであり、初期化子がライブラリ情報にアクセスすることです。Rails アプリのワークフローでは、何とか機能します。私の短期的な回避策は次のとおりです。
このようにして、ライブラリが初期化子の前にロードされると確信しています。それを行うためのより良い方法があると確信しています。つまり、いくつかのrailtieフックにアクセスして、アプリのライブラリを使用してライブラリをロードし、アプリの初期化子を使用して初期化子をロードできるようにします。ただ、それらを見つけることができないようです。
ruby-on-rails - Heroku プッシュ エラー H10
ここ数日、アプリを Heroku にプッシュした後に発生し続けるエラーを修正しようと試みてきました。
アプリは Webrick で起動すると開発中は正常に動作しますがApplication Error
、Heroku でアプリを読み込もうとすると、何らかの理由でページを受け取り続けます。
次のログ レポートがあります。これを修正する方法を知っている人はいますか?
これに関するヘルプは本当に大歓迎です:)