タグ付けされた質問 「rails-activerecord」

Ruby on RailsフレームワークのActive Recordパターンを使用したオブジェクトリレーショナルマッピング(ORM)の実装。


3
Railsのhas_one / has_manyの:sourceオプションを理解する
関連付けの:sourceオプションを理解するのを手伝ってくださいhas_one/has_many :through。Rails APIの説明は、私にはほとんど意味がありません。 「指定で使用されるソース関連名has_many :through => :queries。名前は協会から推測することができない場合にのみ、それを使用するには。has_many :subscribers, :through => :subscriptionsどちらかを探します:subscribersか:subscriberでSubscriptionない限り、:source与えられています。」

14
ActiveRecord ORクエリ
Rails 3のActiveRecordでORクエリを行う方法を教えてください。私が見つけたすべての例には、ANDクエリしかありません。 編集:ORメソッドはRails 5以降で使用できます。ActiveRecord:: QueryMethodsを参照してください

8
2つのActiveRecord :: Relationオブジェクトを組み合わせる
次の2つのオブジェクトがあるとします。 first_name_relation = User.where(:first_name => 'Tobias') # ActiveRecord::Relation last_name_relation = User.where(:last_name => 'Fünke') # ActiveRecord::Relation 2つの関係を組み合わせて、ActiveRecord::Relation両方の条件を含む1つのオブジェクトを生成することは可能ですか? 注:この動作を取得する場所をチェーンできることを知っていActiveRecord::Relationます。私が本当に興味を持っているのは、2つの個別のオブジェクトがある場合です。

5
Railsにテーブルが存在するかどうかを確認する
テーブルが存在しないと機能しないRakeタスクがあります。私はWebサイトで20人以上のエンジニアと作業しているので、それぞれのテーブルにデータを取り込むレーキタスクを実行する前に、テーブルを移行したことを確認します。 ARには次のような方法がありTable.existsますか?テーブルが正常に移行されたことをどのように確認できますか?


11
Rails ActiveRecordの日付
1日のコメントを照会する必要があります。フィールドは、標準のタイムスタンプの一部ですcreated_at。選択した日付はからのものdate_selectです。 ActiveRecordそれを行うにはどうすればよいですか? 私は次のようなものが必要です: "SELECT * FROM comments WHERE created_at BETWEEN '2010-02-03 00:00:00' AND '2010-02-03 23:59:59'"

3
Rails-Active Recordsにネストされたインクルード?
取得したイベントのリストがあります。このイベントに関連付けられているすべてのユーザーと、各ユーザーに関連付けられているすべてのプロファイルを含めようとしています。ユーザーは含まれますが、プロファイルは含まれません。 どうすればいいですか Event.includes(:users [{profile:}]) ドキュメントが明確ではないようです:http : //guides.rubyonrails.org/active_record_querying.html



25
ActiveRecordのランダムレコード
ActiveRecordを介してテーブルからランダムなレコードを取得する必要があります。私は2006年からのJamis Buckの例に従いました。 ただし、Google検索を介して別の方法に遭遇したこともあります(新しいユーザーの制限により、リンクに属性を付けることはできません)。 rand_id = rand(Model.count) rand_record = Model.first(:conditions => ["id >= ?", rand_id]) ここにいる他の人がどのようにそれをしたのか、または誰かがどの方法がより効率的であるかを知っているのかどうか知りたいです。

6
ラムダとRails 4スタイルの引数を持つスコープ?
Rails 4で以下がどのように行われるのか、または3と同じように4でも同じように引数を渡すことができるラムダを使用するためにRails 3アプローチを使用するだけなのかと思います。 私はRails 3にかなり慣れていないので、Rails 4を実行するサンプルをいくつか試してみます。 これが私のRails 3コードです: class Person < ActiveRecord::Base scope :find_lazy, lambda {|id| where(:id => id)} end # In console I can call Person.find_lazy(1) したがって、これがRails 4の方法である場合、-> {}を使用することは、ラムダですよね?scope :all_lazy, -> { select("*") }議論が必要な場合はどうでしょうか。-> {}を使用すると、いくつかの異なるアイデアを試し、コンソールで引数エラーが発生しました。

26
ActiveRecordコールバックの実行を回避するにはどうすればよいですか?
after_saveコールバックを持つモデルがいくつかあります。通常は問題ありませんが、開発データの作成時など、コールバックを実行せずにモデルを保存したい場合があります。それを行う簡単な方法はありますか?のようなもの... Person#save( :run_callbacks => false ) または Person#save_without_callbacks Railsのドキュメントを調べても何も見つかりませんでした。ただし、私の経験では、Railsのドキュメントが常にすべての話を伝えるとは限りません。 更新 次のようなモデルからコールバックを削除する方法を説明するブログ投稿を見つけました。 Foo.after_save.clear その方法が文書化されている場所を見つけることができませんでしたが、うまくいくようです。

10
Railsのアクティブレコードのデフォルトのタイムゾーンを変更するにはどうすればよいですか?
私の中でapplication.rb私は次のコメントに出くわしました # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone. # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC. config.time_zone = 'Eastern Time (US & Canada)' 上からわかるように、config.time_zoneESTの時間に合わせました。ただし、DBでレコードが作成datetimeされると、UTC形式で格納されているように見えます。 上記のコメントで、彼らは言う ...そして、Active Recordをこのゾーンに自動変換します... どうすればそれを行うことができますか? また、これをherokuにも展開していきますので、引き継ぐ設定をお願いします

19
ANDではなくORでスコープクエリをチェーンする方法は?
Rails3、ActiveRecordを使用しています ANDではなくORステートメントを使用してスコープをチェーンするにはどうすればよいのでしょうか。 例えば Person.where(:name => "John").where(:lastname => "Smith") それは通常戻ります: name = 'John' AND lastname = 'Smith' しかし、私は欲しい: `name = 'John' OR lastname = 'Smith'

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.