[英]Models and Controllers usage
我試圖找出模型與控制器之間的正確關系和用法,盡管我已經讀夠了,但我仍然缺少一些東西,因為每次與動作建立聯系時,我都會不斷出錯。 例如;
Controller.rbclass Map < ActiveRecord::Base
def self.clear
update_attritube something or order.
end
end
class Map < ActiveRecord::Base def self.clear update_attritube something or order. end end
因此,在模型中具有self.clear時,我想Map.clear將在Controller中完成。 我這是怎么了?
沒有什么不對您的控制器的方法-這是你的類方法clear
是有缺陷的。 這段代碼:
def self.clear
update_attribute(...)
end
將失敗,因為update_attribute
(或update_attributes
)不是有效的ActiveRecord類方法-只能在模型實例上調用。 您可以改用update_all(...)
方法,盡管這取決於您在此方法中要完成的工作。
如果您實際上打算更新/軟刪除單個記錄,那么您不應該在類級別上工作,而應該獲取單個記錄(基於傳遞的id-您正在傳遞,對吧?)並調用某種方法在該實例上進行更新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.