我有一個表單根據用戶輸入的設備名稱以及其他一些數據創建新設備。我想在我的設備上運行查詢以查看它們輸入的名稱是否已存在,以便它們不會創建具有重複名稱的設備。無論我如何設置查詢來執行搜索,該方法始終表明設備已經存在,即使它不存在。除了條件語句之外,代碼將適當地創建設備。任何想法如何我可以解決這個問題?Rails - 將查詢結果作爲條件使用
在設備控制器的方法:
def create
if Device.where('name' => params[:name])
respond_to do |format|
format.html { redirect_to :back, notice: 'Cannot create device. It already exists.' }
end
else
#Code that creates device
#respond_to code
end
end
此解決方案有效,但我無法讓我的應用程序重定向失敗。它只是進入rails錯誤頁面,指出'Name already exists'。有任何想法嗎?你是否有效地通過在if語句中調用它來實現保存?在我目前的代碼中,device.save!在if語句之前檢查是否存儲.s – 2013-03-19 13:09:46
我更新了典型響應的答案,在這種情況下,呈現'new'動作並使用'flash'顯示錯誤消息。 – 2013-03-19 13:13:13