問題タブ [activesupport]
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モジュールのmattr_accessorとは?
これは Rails のドキュメントで実際に見つけることができませんでしたが、「mattr_accessor」は、通常の Rubyクラスの「attr_accessor」 (getter & setter)のモジュールの結果のようです。
例えば。クラスで
例えば。モジュールで
このヘルパー メソッドはActiveSupportによって提供されます。
ruby-on-rails - Rails ActiveSupport 時間解析?
Rails の ActiveSupport モジュールは、組み込みの ruby Time クラスをいくつかのメソッドで拡張します。
特筆すべきは、データベース形式で文字列を取得するto_formatted_s
ように記述できるメソッドがあることです。Time.now.to_formatted_s(:db)
strftime
私の質問は、逆行する方法はありますか?
Time.parse_formatted_s(:db)
データベース形式の文字列を解析し、新しい Time オブジェクトを返すようなもの。これは Rails が提供すべきもののように思えますが、提供されている場合、私はそれを見つけることができません。
見つけられないだけですか、それとも自分で書く必要がありますか?
ありがとう
ruby-on-rails - ActiveSupport::JSON と JSON gem の間の競合にどのように対処しますか?
私はこの問題に困惑しています。
ActiveSupport::JSON
to_json
さまざまなコア オブジェクトで定義されており、JSON gem も同様です。ただし、実装は同じではありません。ActiveSupport バージョンは引数を取り、JSON gem バージョンは引数を取りません。
JSON gem を必要とする gem をインストールしましたが、アプリが壊れました。問題はto_json
、オブジェクトのリストを返すコントローラーで使用していることですが、返される属性を制御したいということです。
システムのどこかでコードを実行するrequire 'json'
と、次のエラー メッセージが表示されます。
TypeError: wrong argument type Hash (expected Data)
オンラインで読んだことをいくつか試して修正しましたが、何も機能しませんでした。ActiveSupport::JSON.decode
代わりに使用するように宝石を書き直しましたJSON.parse
。
これは機能しますが、持続可能ではありません... JSON gem を必要とする gem を使用するたびに gem をフォークすることはできません。
更新:この問題の最善の解決策は、Rails 2.3 以降にアップグレードすることです。これにより、この問題は修正されました。
ruby-on-rails - Rails テスト用の setup_class/teardown_class はありますか?
クラスまたはシステム全体のいくつかのRailsテストのセットアップとティアダウンメソッドが必要ですが、テストレベルごとに機能する通常のセットアップ/ティアダウンを定義する方法しか見つけられませんでした.
例えば:
テストケースごとに出力を実行しますが、次のようなものが欲しいです:
これにより、すべてのテスト メソッドの前にセットアップ_
フィクスチャが実行され、すべてのテスト メソッドの後にティアダウンフィクスチャが実行されます。_
そのようなメカニズムはありますか?そうでない場合、このメカニズムにモンキー パッチを適用する簡単な方法はありますか?
ruby-on-rails - なぜ autoload なのか、load_all なのか! そして、active_support.rb で使用されているものすべてが必要ですか?
active_support.rb
それが使用するロードプロセスを理解しようとしていました。load_all!
、autoload
およびの 3 つの読み込み方法を使用しrequire
ます。同じファイルに 3 つの異なる読み込み方法を使用するのはなぜですか?
ruby-on-rails - Rails で Time を操作するにはどうすればよいですか?
私は、Rails で Time を操作しようとして、髪を伸ばしてきました。基本的に、すべての時間出力 (コアと ActiveSupport) をサーバーのローカル時間に設定する必要があります。GMT や UTC などはありません。時間に関連するさまざまな投稿を見てきましたが、通常は誰かが設定する必要があります。各ユーザー。私の場合はそれほど複雑ではありません。Time オブジェクトを使用するときに一貫性が必要なだけです。(Fixnum (またはその他の型) を文字列に変換できないというエラーが 3 秒ごとに表示されないこともありがたいです。これは Ruby です。実行してください!)
また、Time.new と ActiveSupport 1.second.ago の時間が大幅に異なるようです。とにかく、Rails で Time を使用することに関して、質の高い提案はありますか?
ruby-on-rails - activesupport(> = 2.3.2、ランタイム)をアクティブ化できません。すでにactivesupport-2.1.2がアクティブ化されています。どういう意味ですか?
曇ったエラーメッセージに直面したオープンソースRailsプロジェクトの古いリビジョンを開始しようとしている間:
「activesupport(> = 2.3.2、ランタイム)をアクティブ化できません。すでにactivesupport-2.1.2がアクティブ化されています。」
どういう意味ですか?レールとactivesupportのいずれかのバージョンが私のボックスにインストールされています。
よくわかりません...
ruby-on-rails - XML パーサーを使用するタイミングと ActiveResource を使用するタイミングをどのように判断しますか?
ActiveResource を使用して、HTML ドキュメントに似た Web サービスを解析しようとしましたが、404 エラーが発生し続けました。
このタスクには、ActiveResource の代わりに XML パーサーを使用する必要がありますか?
私の推測では、ActiveResource が役立つのは、別の Rails アプリのデータを使用していて、XML データを Rails モデルに簡単に変換できる場合だけです。たとえば、Web サービスが HTML ドキュメントや RSS フィードなどのより広範な XML である場合は、hpricot や nokogiri などのパーサーを使用する必要があります。これは正しいです?
XML パーサーを使用するタイミングと ActiveResource を使用するタイミングをどのように判断しますか?
ruby-on-rails - ActiveSupport のデフォルトの to_sentence 動作のオーバーロード
ActiveSupport は便利な方法を提供していますto_sentence
。したがって、
余分なコンマを入れたくないので、最後の単語コネクタを変更できるのは良いことです。しかし、余分なテキストが必要です: 11 文字ではなく 44 文字です!
質問:last_word_connector
: のデフォルト値をに変更する最もルビーらしい方法は' and '
何ですか?
ruby - ロガーに干渉する ActiveRecord
ActiveRecord (ActiveSupport が必要) を使用すると、Logger クラスが混乱し、問題が発生するようです。これは、いくつかのサンプル コードで確認できます。
このコードを実行すると、次の素敵な出力が生成されます。
ただし、require 'activerecord' 行のコメントを外すと、代わりに次のようになります。
だから私はアクティブサポートについて調べた後、いくつか検索しました:
次の「実用的なソリューション」を見つけました
上記を使用して、私が好きな出力を取得します。しかし、それは私には粗末でRubyらしくないように思えます。望ましい結果を得るためのより簡単な方法があるかどうかは誰にもわかりませんか?
ありがとう!