0
我有機型用戶和StoredItem:我應該在哪裏放置代碼?
class UserData < ActiveRecord::Base
has_many :stored_items, :dependent => :destroy
end
class StoredItem < ActiveRecord::Base
belongs_to :user
named_scope :lookup, lambda { |id| { :conditions => ['qid = ?', id]}}
end
我需要有兩種方法來添加和刪除的項目StoredItem當前用戶。我把這個代碼,用戶模型:
class UserData < ActiveRecord::Base
has_many :stored_items, :dependent => :destroy
def save_item(params)
if(!self.stored_items.lookup(params[:qid]).exists?)
item = self.stored_items.new(:sid => params[:qid],
:name => params[:qti],
:url => params[:qur],
:group_id => params[:title],
:rating => Integer(params[:rating]))
item.save
end
end
def remove_item(qid)
item = self.stored_items.lookup(qid).first()
item.destroy
end
end
因此,這裏的StoredItem控制器:
def save_item
@user = UserData.find_by_login(session[:cuser])
@user.save_item(params)
# ...
end
是好建築的決定,或將是更好地把這段代碼StoredItem模型,並通過當前用戶進入它?
謝謝,但我的用戶是負責許多實體(項目,位置,聯繫人....),它往往是一個非常大的用戶模型。我不確定這是否好。 – demas
用戶模型在應用程序中很自然地負責。如果你願意,你可以創建模塊(將它們放在你的lib目錄中)並將它們包含在你的用戶類中。這樣你可以分開功能。讓我知道如果你想用模塊概念再次回答這個問題,或者你知道我在做什麼。 – WattsInABox