屬性方法返回所有屬性的散列,其名稱爲鍵,屬性的值爲值;我想利用這種方法,創建update_attributes(attributes)方法的新派生,可以稱它爲jz_attributes(attributes)。黑客活動記錄,我該如何利用屬性方法?
update_attributes方法做到這一點:
def update_attributes(attributes)
self.attributes = attributes
save
end
而且jz_attributes(屬性)會做一些稍有不同:
def jz_attributes(attributes)
debugger
self.attributes = attributes
#does something else
end
我想充分利用ActiveRecords 屬性的方法,但我運行到麻煩:
def attributes
self.attribute_names.inject({}) do |attrs, name|
attrs[name] = read_attribute(name)
attrs
end
end
這裏是終端在說:
28 end
29 end
30
31 def jz_attributes(attributes)
32 debugger
=> 33 self.attributes = attributes
34 end
35
36
37 #inventory_to_increment.quantity = quantity.to_i
(rdb:1) p attributes
nil
(rdb:1) next
/Users/justinz/.gem/ruby/1.8/gems/actionpack-2.3.5/lib/action_controller/rescue.rb:162
rescue_action(exception)
我控制器利用jz_attributes:
def cart2_update
@cart = find_cart
@cart.jz_attributes(params[:cart_item])
end
你看到什麼明顯的,我做錯了什麼? 謝謝!