我在我的控制器中目前有我的參加方法。我的問題是我如何知道是否將此放入事件或用戶模型與我的事件控制器?我也將添加另一個方法remove_attend,這將做相反的參加。我在什麼時候將這些方法放入模型中?我應該把它放在我的控制器或模型中嗎?
def attend
@event = Event.find(params[:id])
if @event.users.include?(current_user)
flash[:error] = "You're already attending this event."
else
current_user.events << @event
flash[:success] = "Attending event!"
end
redirect_to @event
end
所以我們可以說我需要一種方法來刪除用戶和事件之間的關係......並且我需要這個方法在事件和用戶視圖/控制器中都可用...我應該把它放在事件助手中嗎?這屬於哪裏? – 2011-06-08 03:22:46
理想情況下,這應該屬於事件模型。你應該在偶數模型上有一個刪除方法。然後,用戶可以使用像user.event.remove這樣的關聯代理來調用該方法。這是Rails的美麗:) – Spyros 2011-06-08 03:30:31
最後一個問題:我在事件模型中做了一個remove_attendance方法。我應該直接從視圖中調用該方法,還是應該在兩者之間放置一個控制器? – 2011-06-08 03:32:51