mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Call the newly generated read method after generating it. Closes #8470.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6837 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
cb7a17a9d0
commit
def61a200e
1 changed files with 15 additions and 4 deletions
|
@ -1621,8 +1621,14 @@ module ActiveRecord #:nodoc:
|
|||
def id
|
||||
attr_name = self.class.primary_key
|
||||
column = column_for_attribute(attr_name)
|
||||
define_read_method(:id, attr_name, column) if self.class.generate_read_methods
|
||||
read_attribute(attr_name)
|
||||
|
||||
if self.class.generate_read_methods
|
||||
define_read_method(:id, attr_name, column)
|
||||
# now that the method exists, call it
|
||||
self.send attr_name.to_sym
|
||||
else
|
||||
read_attribute(attr_name)
|
||||
end
|
||||
end
|
||||
|
||||
# Enables Active Record objects to be used as URL parameters in Action Pack automatically.
|
||||
|
@ -1976,8 +1982,13 @@ module ActiveRecord #:nodoc:
|
|||
(md = /\?$/.match(method_name) and
|
||||
@attributes.include?(query_method_name = md.pre_match) and
|
||||
method_name = query_method_name)
|
||||
define_read_methods if self.class.read_methods.empty? && self.class.generate_read_methods
|
||||
md ? query_attribute(method_name) : read_attribute(method_name)
|
||||
if self.class.read_methods.empty? && self.class.generate_read_methods
|
||||
define_read_methods
|
||||
# now that the method exists, call it
|
||||
self.send method_id.to_sym
|
||||
else
|
||||
md ? query_attribute(method_name) : read_attribute(method_name)
|
||||
end
|
||||
elsif self.class.primary_key.to_s == method_name
|
||||
id
|
||||
elsif md = self.class.match_attribute_method?(method_name)
|
||||
|
|
Loading…
Reference in a new issue