有一些詞永遠不會顯示在我的web應用程序中的任何字符串屬性(照片[:標題],用戶[:名稱]等)。下面的代碼工作在我的控制器:把這個簡單的控制器代碼變成一個方法
PhotosController
def create
@photo = current_user.photos.build(photo_params)
if @photo.title.include? "foo"
@photo = nil
flash[:warning] = "Photo failed!, restricted words"
redirect_to new_photo_path
else
if @photo.save
flash[:success] = "Photo created!"
redirect_to new_photo_path
else
flash[:warning] = "Photo failed!"
redirect_to new_photo_path
end
end
end
很顯然,我不希望有無休止地重複自己在我的控制器,每個字符串屬性。我需要創建一個可以放在application.rb中並用於所有控制器的方法。
你可以做的第一件事就是讓在車型名稱的驗證,所有的驗證應始終在模型完成,從來沒有在控制器。 –