named-scope

Nested named scopes with joins (explosive error)

So I have an ActiveRecord class with a couple different named scopes that include join parameters. While running a report, I happen to have a situation where one gets called inside of the other: 1 Model.scope_with_some_joins.find_in_batches do |models| 2 models.each do |mdl| 3 other_comparisons = Model.scope_with_other_joins 4 ...

dynamically set named_scope based on current_user

Hey all, I keep getting the following error: You have a nil object when you didn't expect it! You might have expected an instance of Array. The error occurred while evaluating nil.size Based on the current user, when they navigate to a page, I want to limit them to what they can see based on their site. Problem is there is no associat...

Can I access the id of the parent object inside a named_scope when fetching associated objects with the 'others' method?

Let's say you have two models: articles and comments. class Article < ActiveRecord::Base has_many :comments end You know you can fetch associated comments to an article like this: article = Article.first article.comments # => SELECT * FROM "comments" WHERE ("comments".article_id = 123) Is there a way to explicitly access the arti...

Custom ActiveRecord finder invoking named scopes?

I have a custom finder defined below: class ContainerGateIn << ActiveRecord::Base ... def self.search(text) result = if text text.split(' ').inject(self) do |result, criteria| case criteria when /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/ result.search_by_date(criteria.to_date) else r...

Rails Workflow Gem - Metaprogramming events into named_scopes?

I'm using http://github.com/geekq/workflow to provide a state machine. I'm using ActiveRecord to save state, which means I have a "workflow_state" attribute in the model. I think I want a named_scope for each event in the state machine, so I can find all objects in a given state. For example, assuming a very simple state machine: workfl...

Keeping named_scope Extensions DRY

In Rails, you can add a block after a named_scope for additional, context-sensitive methods like so: class User < ActiveRecord::Base named_scope :inactive, :conditions => {:active => false} do def activate each { |i| i.update_attribute(:active, true) } end end end In this example, the activate method is being defined...

How to make a complex named scope play nice with associations and other named scopes [rails]

I have the following named scope on class RentableItem < ActiveRecord::Base named_scope :available_at, lambda{ |starts_at, ends_at| { :select => "t.*", :from => "(SELECT ri.*, COALESCE(c1.start_date, '#{starts_at}') AS EarliestAvailable, COALESCE(c2.end_date, '#{ends_at}') AS LatestAvailabl...

aggregate conditional has_many rails association

I'm not sure if this is feasible or even preferable But I'd like to build a has_many relationship or a conditional named_scope type relationship to ease my pain into one simple relationship instead of two. Currently I have two models which basically contain the same information and belong to the same Model rooms thru the same key room_...

Ruby on Rails: Is it possible to :include the other leg of a circular join table?

I'm working on an application that models friendships between users. class User has_many :friendships has_many :friends, :through => :friendships, :conditions => "status = #{Friendship::FULL}" end class Friendship belongs_to :user belongs_to :friend, :class_name => "User", :foreign_key => "friend_id" end ...

Ruby on Rails: Nested named scopes

Is there any way to nest named scopes inside of each other from different models? Example: class Company has_many :employees named_scope :with_employees, :include => :employees end class Employee belongs_to :company belongs_to :spouse named_scope :with_spouse, :include => :spouse end class Spouse has_one :employee end Is ...

Mixing acts_as_tree (ancestry gem), acts_as_list and default model scoping

I'm using the ancestry gem to structure some groups in a tree. At the same time I'm using acts_as_list to keep groups at the same tree level in a sorted list. Given the following model: class Group < ActiveRecord::Base acts_as_tree acts_as_list :scope => "ancestry" named_scope :parentable, :conditions => "NOT type = 'PriceGroup'"...

How do you scope ActiveRecord associations in Rails 3?

I have a Rails 3 project. With Rails 3 came Arel and the ability to reuse one scope to build another. I am wondering if there is a way to use scopes when defining a relationship (e.g. a "has_many"). I have records which have permission columns. I would like to build a default_scope that takes my permission columns into consideratio...

Problems with :uniq => true/Distinct option in a has_many_through association w/ named scope (Rails)

See updates at bottom of question. I had to make some tweaks to my app to add new functionality, and my changes seem to have broken the :uniq option that was previously working perfectly. Here's the set up: #User.rb has_many :products, :through => :seasons, :uniq => true has_many :varieties, :through => :seasons, :uniq => true has_ma...

Reusing named_scope to define another named_scope

The problem essence as I see it One day, if I'm not mistaken, I have seen an example of reusing a named_scope to define another named_scope. Something like this (can't remember the exact syntax, but that's exactly my question): named_scope :billable, :conditions => ... named_scope :billable_by_tom, :conditions => { :billable => tru...

PGError syntax problem for named_scope

Hi, I have the following named_scope which works fine in MySQL and sqlite but bombs in Postgres: course.rb named_scope :current, :conditions => ['start < ? AND end > ? ', Time.now, Time.now], :order => 'start ASC' Then I just call: Course.current I get the error: PGError: ERROR: syntax error at or near "end" LINE 1: ... W...

How to translate this MySQL statement into named_scope method?

"select * from users, awards where (users.id = awards.user_id) and awards.trophy_id not in (select awards.trophy_id from awards where awards.trophy_id = #{trophy.id})" ...

How to: Searchlogic and Tags

I have installed searchlogic and added will_paginate etc. I currently have a product model that has tagging enabled using the acts_as_taggable_on plugin. I want to search the tags using searchlogic. Here is the taggable plugin page: http://github.com/mbleigh/acts-as-taggable-on Each product has a "tag_list" that i can access using Pr...

warning when using a named_scope as part of an anonymous scope

I have the following named scope: named_scope :find_all_that_match_tag, lambda { |tags| { :select => "articles.id, tags.name", :joins => :tags, :conditions => ["tags.name IN (?)",tags]} } It works fine like this in script/console Article.find_all_that_match_tag(["cooking"]) But if i use...

Why does this Rails named scope return empty (uninitialized?) objects?

In a Rails app, I have a model, Machine, that contains the following named scope: named_scope :needs_updates, lambda { { :select => self.column_names.collect{|c| "\"machines\".\"#{c}\""}.join(','), :group => self.column_names.collect{|c| "\"machines\".\"#{c}\""}.join(','), :joins => 'LEFT JOIN "machine_updates" ON "machine_upd...

ruby on rails named scope implementation

From the book Agile Web Development With Rails class Order < ActiveRecord::Base named_scope :last_n_days, lambda { |days| {:conditions => ['updated < ?' , days] } } named_scope :checks, :conditions => {:pay_type => :check} end The statement orders = Orders.checks.last_n_days(7) will result to only one query to the data...