0
我試圖讓當前用戶邀請另一個用戶,並將該新的被邀請者分配給列表,但在受邀用戶註冊時出現錯誤。將屬性分配給rails中的資源時出錯
有兩種模型,User和Listing,與每個模型上的has_and_belongs_to_many相關。還有一個邀請模型包含一個令牌和被邀請者需要分配的列表。
我重寫色器件註冊控制器:
def new
resource = build_resource({:invitation_token => params[:invitation_token]})
resource.email = resource.invitation.recipient_email if resource.invitation
respond_with resource
end
# POST /resource
def create
resource = build_resource
resource.listings << resource.invitation.listing if resource.invitation
. . .
當我邀請一個新用戶,並轉至註冊(註冊/新)頁面,填寫表格,然後點擊提交,它工作正常。但是,如果我錯過形式的一部分導致驗證錯誤,當我再填寫表格正確,並點擊提交,我得到以下錯誤:
Couldn't find Listing with id=0
出現錯誤時就行發生:
resource.listings << resource.invitation.listing if resource.invitation
沒有該行,錯誤不會發生。
這裏是從服務器日誌中的錯誤:
Listing Load (0.3ms) SELECT "listings".* FROM "listings" WHERE "listings"."id" = $1 LIMIT 1 [["id", 0]]
什麼我錯在這裏做什麼?這裏