問題タブ [ruby-on-rails-2]
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 2.3.8でローカライズされた名前間隔のルートを処理する適切な方法は何ですか?
アプリケーションをローカライズしていて、アプリの特定の部分のルートを処理する方法に苦労しています。
当初、私は次のようなルートを持っていました:
:path_prefix => '/:locale/'
他のルートで成功したことから、これらのルートに追加する必要があります。
私が遭遇した唯一の例は次のようになります。
これは実際にはルートにはうまく機能しているように見えますが、生成されたURLの一部が台無しになっています。
たとえば、以前= link_to(t('subscription'), edit_admin_subscription_path(subscription_id)
は完全に機能するようなものがありました...上記の変更後、このURLは正しく生成されなくなり、次のエラーが発生します。
この種のことを処理する適切な方法や、このURLがこれ以上生成されたくない理由について、誰もが理解できる洞察を心から感謝します。ありがとう!
ruby-on-rails - ActiveRecord はどのようにバリデーションで `:if => ...` を実装しますか?
ActiveRecord の検証で がどのように機能するかを調べるために ActiveRecord のソースを調べてきましたが、ソース内:if => proc_or_method_name
の唯一のインスタンスは:if
、機能を呼び出す方法を説明するコメントにあります。
たとえば、モデルに次のような行を含めることができます。
nameable?
メソッドが指定されたモデルに対して真の値を返す場合にのみ、検証がチェックされます。
(Rails2)ソースのどこにもこの動作が見つからないため、この機能は実際にどこで定義されていますか?
sql - Rails 2のアクティブレコードから実行中のSQLを出力する方法
実行中のSQLをログまたはコンソールに出力したいと思います。どこで設定できますか? 休止状態では、構成ファイルの可能性があります。ここでもそのようなものにする必要があると思います。
私はこれに似たコード部分を持っています:
これは手動で変換するより簡単なケースですが、すべてのネイティブ SQL をコンソールまたはファイルに入れたいと考えています。検索時に重宝しそう
ruby-on-rails - Rails 2 create メソッドと親の保存
Rails 1 アプリを 2.3 にアップグレードしていますが、次のようなコード ブロックで問題が発生しています。
これは Rails 1 では問題なく機能しました。アップグレード後、このcreate
メソッドを呼び出すと、次の結果が得られます。
create
Rails 1 と 2 の間でメソッドはどのように変更されましたか? また、これを適切に処理するにはどうすればよいでしょうか?
ruby-on-rails - ルビーコンソールにコントローラーとモデルのコード変更を認識させる方法
私はルビーモデルに新しい機能を追加し、ルビーコンソールを介してテストしています。モデル内で何かを変更するたびにコンソールを再起動しなければならないのは非常に面倒です。ルビーコンソールをキャッシュしないようにする方法や、再起動せずに更新されたコードをチェックする方法はありますか?
たとえば、モデルで新しいメソッドを作成しています。変更を加えた後、コンソールを再起動し、いくつかのコマンドを実行してすべてを再度ロードする必要があります。下記参照:
high_xメソッドの行をリージョンモデルから変更した場合、変更を確認するには、すべての手順を繰り返す必要があります。
ruby-on-rails - 異なるバージョンのRailsを使用したRailsプラグイン
Rails 3アプリがあり、Rails3では使用できなくなったrails_generatorを必要とするプラグインを使用したいのですが、プラグインをRails 2で実行し、アプリをRails 3で実行できますか?
編集:私はIRC(#rubyonrails)で質問しましたが、答えはノーです:(
ssl - Rails 2 のすべてのページに ssl_allowed/ssl_required を設定しますか?
ページが SSL/HTTPS を使用している場合、Rails サイトで AJAX 呼び出しが機能しないことがわかりました。追加することでこれを回避しました
関連するコントローラーに。
間違いなく ssl_allowed リストにアクションを追加するのを忘れてしまうので、これは苦痛であり、将来バグが発生しやすいと予測しています。
サイト内のすべてのコントローラーのすべてのアクションに対して、[ssl_requirement][1] gem でグローバルに有効にする方法はありますssl_allowed
か? ssl_required
ApplicationController に以下を追加しようとしましたが、うまくいきませんでした:
ruby-on-rails - Rails 2: ID 1 が存在しない場合、Model.find(1) で ActiveRecord エラーが発生する
私はRails 2.3.5を使用してModel.find(1)
います.1がデータベースにない場合、ActiveRecordエラーが返されます。nil
の場合のように返されるべきModel.find_by_column('..')
ですか?
ruby-on-rails - コントローラに渡されたすべてのパラメータがRuby on Rails 2で保持されるようにlink_toを使用する方法は?
SEO に適した URL を持つバイリンガル サイトがあります。Ruby on Rails 2.3.10 を使用しています。
routes.rb
断片:
ご覧のとおり:locale
、:greenhopper
URL に「隠されています」。
現在のページの言語を変更できるようにスイッチがあります。私を参照してくださいviews/layouts/default.erb
:
コントローラーとアクションを指定しないだけなので、現在のコントローラーとアクションに別のロケールでリダイレクトされます。残念ながら、:greenhopper パラメータは失われます。
- 私は
/order-jira-with-greenhopper-hosting/11.html
(:option => 11, :locale => 'en', :greenhopper => true
)にいます /order-jira-hosting/11.html
言語を切り替えるために生成されたリンクは/zamow-hosting-jira/11.html
(:option => 11, :locale => 'pl' and 'en', :greenhopper => false)
...- ...しかし、そうあるべきで
/order-jira-with-greenhopper-hosting/11.html
あり、/zamow-hosting-jira-z-greenhopper/11.html
(:option => 11, :locale => 'pl' and 'en', :greenhopper => true)
コントローラーに渡されるすべてのパラメーターが保持されるように link_to メソッドを使用する方法は? ご協力いただきありがとうございます。
ruby-on-rails - Railsでgroupbyによって返された行をカウントするActiveRecordカウント
私は周りを見回しましたが、これに対する答えは見つかりませんでした。すべての回答には、GROUPBYを使用しなかったカウントが含まれていました。
背景: ActiveRecord.findのオプションを取得するページネーターがあります。:limitおよび:offsetオプションを追加し、クエリを実行します。また、レコードの総数(制限を除く)をカウントする必要がありますが、クエリに:groupオプションが含まれている場合があり、ActiveRecord.countは、GROUPBYによって返されたすべての行とそのカウントを返そうとします。Rails2.3.5でこれを行っています。
私が欲しいのは、ActiveRecord.countがGROUPBYによって返された行数を返すことです。
これの1つのインスタンスを示すサンプルコードを次に示します(すべてのタグを検索し、そのタグを持つ投稿の数で並べ替えるために使用されます)。
:selectオプションを使用すると、Tag.countは次のSQLを生成します。
ご覧のとおり、これは単にCOUNT()を'tags。*、COUNT(*)'にラップしているだけであり、MySQLはCOUNT内のCOUNTについて文句を言います。
:selectオプションを指定しない場合、次のSQLが生成されます。
これは、行数ではなく、GROUPBY結果セット全体を返します。
これを回避する方法はありますか、それともGROUP BYを使用したクエリを説明するためにページネーターをハックする必要がありますか(そしてそれをどのように行うのでしょうか)?