沒有看到您的models
(& validations
),直接診斷您的錯誤將會非常困難。
-
嵌套屬性
我們已經做了這樣的事情,並發現你的嵌套數據傳遞到子模型就好像它是接受一個新的對象(不嵌套)。這意味着,如果你有validates uniqueness爲模型,應該沒關係:
#app/models/test.rb
Class Test < ActiveRecord::Base
belongs_to :student
validates :name, uniqueness: true
end
我之所以寫這篇文章是因爲有一個名爲inverse_of
方法,它基本上可以讓你訪問你的child
模式parent
模型數據
-
更新
我認爲這個問題很可能在於,其中y我們使用update_attributes
。問題在於您試圖同時更新student
和test
屬性。
我不知道到底爲什麼,這將是一個問題,但我想測試:
#app/controllers/students_controller.rb
class StudentsController < ApplicationController
def update
@student = Student.find params[:id]
@student.test.update(name: params[:test_name], marks: params[:marks])
end
end
我認爲,如果你能解釋一下你的方法更多一點,這將是更有益的。 I.E你想更新student
或test
?如果你正在更新student
&增加一個新的test
,你是如何更新studet?
您是否在'Test'模型中具有**'**的唯一性驗證?如果是這樣,你必須刪除它才能完成這項工作。 – Pavan
你是否在'學生'的範圍內處理驗證,或者只是在表中必須是唯一的? –