activerecord

Rails activerecord attributes=

Hi, I am doing this: @person.attributes = params[:person] Can anyone give me a clue as to why doing an attributes= would cause a bunch of SQL to show in my logs? I see a couple of SELECT and even an UPDATE. I swear I am not doing a "save" -- so I have no idea why setting attributes would trigger queries. Is there a before_ of af...

I need some help with either my SQL or my PHP I do not know which...

Hello I am creating a CMS and some of the functionality of it that the images that are within the content are managable. I currently trying to display a table that shows the the content title and then the associated images, ideally I would like a layout similar to this, Content Title Image 1 Image 2 Image 3 Content Title 2...

How can I test ActiveRecord::RecordNotFound in my rails app?

Hi, I have this code in my controller and want to test this code line with a functional test. raise ActiveRecord::RecordNotFound if @post.nil? which assert method should I use? I use the built-in rails 2.3.5 test framework. I tried it with this code: test "should return 404 if page doesn't exist." do get :show, :url => ["noth...

Main pricing and support for custom client pricing (Database Architecture ideas help - Rails)

Hi all, I have a personal project I'm planning and I came to a small hurdle. I want to have an item with price that will be the default for all clients/users. However, in my business I have some clients that are grandfathered in to some special pricing. In the case of these grandfathered in cases, I'll manually plug their special price...

Add save callback to a single ActiveRecord instance, is it possible?

Is it possible to add a callback to a single ActiveRecord instance? As a further constraint this is to go on a library so I don't have control over the class (except to monkey-patch it). This is more or less what I want to do: def do_something_creazy message = Message.new message.on_save_call :do_even_more_crazy_stuff end def do_e...

Rails way for querying join table in has_and_belongs_to_many

I have a user model and a role model with a has_and_belongs_to_many reliationship. The join table is roles_users (two columns - the PK of the user and the role) and has no corresponding model. I want to have a method that returns all users with a given role. In SQL that'd be something like SELECT u.id FROM role.r, roles_users ru WHERE ...

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...

Rails ActiveRecord- has_many through and belongs_to a related model

I have 3 models sites, user_favorites and users. Relevant relationships: class Site < ActiveRecord::Base has_many :users, :through => :user_favorites class UserFavorite < ActiveRecord::Base belongs_to :user, :counter_cache => true belongs_to :site end class User < ActiveRecord:Base has_many :user_favorites has_many :sites, ...

How to set up my belongs_to and has_many reference

Hi, I have an ExpenseType object that I have created with the following migration: class CreateExpenseTypes < ActiveRecord::Migration def self.up create_table :expense_types do |t| t.column :name, :string, :null => false t.timestamps end end I can see the table name is the pluralised expense_types. My questio...

Dynamically defined setter methods using define_method?

I use a lot of iterations to define convenience methods in my models, stuff like: PET_NAMES.each do |pn| define_method(pn) do ... ... end but I've never been able to dynamically define setter methods, ie: def pet_name=(name) ... end using define_method like so: define_method("pet_name=(name)") do ... end Any ideas? Thanks in adv...

rails override default getter for a relationship (belongs_to)

So I know how to override the default getters for attributes of an ActiveRecord object using def custom_getter return self[:custom_getter] || some_default_value end I'm trying to achieve the same thing however for a belongs to association. For instance. class Foo < AR belongs_to :bar def bar return self[:bar] || Bar.last ...

Including a model's virtual attributes when converting a record to JSON in Rails

Hello, I'm trying to convert an ActiveRecord model to JSON in Rails, and while the to_json method generally works, the model's virtual attributes are not included. Is there a way within Rails to list not just the attributes of a model, but also it's attr_accessor and attr_reader attributes in order that all readable attributes are avail...

How can I get a set of radio buttons to accept NULL (nothing checked)?

I'm working on a Rails application where I have some a set of two radio buttons where users can click "yes" or "no". The MySQL DB column created by the ActiveRecord migration is a tinyint. If the user doesn't click either radio button I want MySQL to store NULL. (The column allows NULL.) And when they come back to edit the data, neither...

Disabling model's after_find only when called from certain controllers

I have an after_find callback in a model, but I need to disable it in a particular controller action e.g. def index @people = People.find(:all) # do something here to disable after_find()? end def show @people = People.find(:all) # after_find() should still be called here! end What is the best way to do it? Can I pass somethin...

Attaining Explicit and Predictable Ruby on Rails...

I need help, how can I learn this framework? Here's what I need to know. Routes, its expected outcome, the prefix/suffix methods associated with every changes made with it. ActiveRecord, the dynamic generation of methods, the behind the scenes with prefix_ and _suffix methods. The View, how do I know what prefix/suffix methods can be ...

rails inverting to_xml and getting the original model

I did this: [User.first, User.last].to_xml and got this: <users type="array"> <user> <created-at type="datetime">2010-03-16T06:40:51Z</created-at> <id type="integer">3</id> <password-hash></password-hash> <salt></salt> <updated-at type="datetime">2010-03-16T06:40:51Z</updated-at> <username nil="true">...

rails activerecord save method

hi, guys, can the save method be used to update a record? person = Person.new person.save # rails will insert the new record into the database. however, if i find a record first, modify it and save it. is it the same as performing a update? person = Person.find(:first, :condition => "id = 1") person.name = "my_new_name" person.sa...

I have a comment model, what to use in my views? @comment, :comment or comment?

I have a comment model, I've seen examples of using @comment, :comment, comment to reference the object in MVC. how do I know which is which? Is there a distinction? ...

Saving multiple objects in a single call in rails

I have a method in rails that is doing something like this: a = Foo.new("bar") a.save b = Foo.new("baz") b.save ... x = Foo.new("123", :parent_id => a.id) x.save ... z = Foo.new("zxy", :parent_id => b.id) z.save The problem is this takes longer and longer the more entities I add. I suspect this is because it has to hit the database...

Problem with Active Record

Hello everyone. Lets assume we have a User model. And user can plan some activities. The number of types of activities is about 50. All activities have common properties, such as start_time, end_time, user_id, etc. But each of them has some unique properties. Now we have each activity living in its own table in DB. And thats why we hav...