我有我的Ruby on Rails應用程序啓動並使用3個腳手架模型運行。到現在爲止還挺好。現在我正在編寫業務邏輯並獲得語法錯誤,並且不太明白如何編寫變量。Rails:瞭解查詢模型語法
詳情:
3個模型:Document,Employee和EmpDocument。
業務規則:每當一個新的文檔被添加爲每個員工
1)循環遍歷員工
2)創建EmployeeDocument切的EmpDocument.rcd
我上.Create線錯誤,因爲我沒有正確編碼我的變量。 我查看了文檔,沒有找到任何規則/示例。
Document.Model
def create
@document = Document.new(document_params)
respond_to do |format|
if @document.save
format.html { redirect_to @document, notice: 'Document was successfully created.' }
format.json { render :show, status: :created, location: @document }
# create an EmpDocument record for each employee for this new document
#@employees = Employee.find(:all)
Employee.all.each do |employee|
Empdocument.Create(:document_id => @document.document_id, :employee_id => employee.employee_id, :viewed => '0001-01-01')
end
else
format.html { render :new }
format.json { render json: @document.errors, status: :unprocessable_entity }
end
end
end
這裏的錯誤:
「未定義的方法`DOCUMENT_ID」爲#」
#@employees = Employee.find(:all)
Employee.all.each do |employee|
Empdocument.Create(:document_id => @document.document_id, :employee_id => employee.employee_id, :viewed => '0001-01-01')
end
「我得到一個語法錯誤」 - 你從哪裏得到的是語法錯誤?它說什麼?我無法重現那個語法錯誤,語法是正確的。 「我在.Create行遇到錯誤」 - 什麼錯誤?它說什麼?如果您甚至不告訴我們問題是什麼,那麼我們無法幫助您。 「我沒有正確編碼我的變量。」 - 那有什麼意思?請定義「正確」。請閱讀如何構建[mcve],[問],參加[參觀],並閱讀[幫助]。 –
對不起 - 我發佈時無法訪問應用程序 - 這裏是錯誤:#@ employees = Employee.find(:all) Employee.all.each do | employee | Empdocument.Create(:document_id => @ document.document_id,:employee_id => employee.employee_id,:viewed =>'0001-01-01') end(更新原始文章) – WebdevAlan
錯誤看起來表明@文件沒有方法document_id。你確定它不是@ document.id? – mr12086