2
我有簡單的rails應用程序。創建,刪除,編輯帖子。我需要評價這個職位。 哪裏放置率函數,在模型或控制器?爲什麼?函數的放置
我有簡單的rails應用程序。創建,刪除,編輯帖子。我需要評價這個職位。 哪裏放置率函數,在模型或控制器?爲什麼?函數的放置
通常這種事情發生在兩個地方。您將在模型上使用rate
方法,並且您將在控制器中執行rate
操作。
請記住,控制器的主要功能是接收請求,加載合適的模型,根據需要調整它們並保存結果。通常這些模型將實現爲此提供便利所需的功能。
在控制器,你會做這樣的事情:
class ItemsController < ApplicationController
def rate
@item.rate!(session[:user_id], params[:rating])
end
end
在模型中你有這樣的事情:
class Item < ActiveRecord::Base
has_many :ratings
def rate!(user_id, rating)
self.ratings.create(:user_id => user_id, :rating => rating)
end
end
沒有一個控制器,你不能訪問模型,它必須經過這一層,沒有一個模型你沒有持久的數據。他們一起工作。