我有一個工作表單,正確保存所有屬性,包括collection_select
。然而,當我添加validates :title, presence: true
並嘗試提交,我得到Rails奇怪的錯誤時提交collection_select w /無關驗證
undefined method 'map' for nil:NilClass
我的新動作:
class ItemsController < ApplicationController
def new
@item = Item.new
@categories = Question.editable_by(current_user)
respond_to do |format|
format.html { render :layout => true}
format.json { render :json => @item }
format.js
end
end
end
View是items\_form.html.haml
不工作
= f.collection_select :question_id, @categories, :_id, :iqs_item
作品
= f.collection_select :question_id, Question.editable_by(current_user), :_id, :iqs_item
這工作時我從控制器到視圖添加@categories
對象。我猜在視圖中error
函數沒有通過,或者當它試圖重繪錯誤頁面時它不能映射選擇項。
請協助。再次,我可以讓它工作,但我寧願不要在視圖中調用方法。當收集給它,即,@categories
設置爲nil
可以共享錯誤堆棧跟蹤 –
我猜測'Question.editable_by(CURRENT_USER)'將返回零,即,爲CURRENT_USER沒有可編輯的問題。 –
@KirtiThorat,最好的方法是從'development.log'?並且,不,「Question.editable_by(current_user)」被認爲是「Question.all」。該功能在控制器和視圖中都可以正常工作。只有在提交後纔會導致錯誤。 –