2015-04-18 95 views
0

我遇到了保存對象的問題。我有這樣的代碼在書籤模式:奇怪錯誤的參數數量(1爲0)錯誤?導軌

class Bookmark 
    include Mongoid::Document 
    include Mongoid::Timestamps 
    field :owner_req, type: Mongoid 
    field :request_id, type: Mongoid 
    field :corsponding_requests, type: Array 

    belongs_to :user 
    belongs_to :request 
class << self 

    def createBookmark (title) 
     bookmark = self.new 
     bookmark[:owner_req] = title[:owner_req] #Here's the error 
     bookmark[:request_id] = title[:request_id] 
     bookmark[:corsponding_requests] = Array.new 
     bookmark[:corsponding_requests].push(*title[:corsponding_requests]) 
     asd 
     if bookmark.save 
      bookmark 
     end 
    end 

    def getBookmark(t) 
     bookmark = find(t) 
     if bookmark 
     bookmark 
     end 
    end 
    def getAll 
     bookmark = self.all 
     if bookmark 
     bookmark 
     end 
    end 
    end 
end 

request_bookmarked功能

bookmark = Hash.new 
     req = User.find(session[:user]) 

     bookmark["owner_req"] = req[:id] 
     bookmark["request_id"] = bookmarked_against_Request[:id] 
     bookmark["corsponding_requests"] = Array.new 
     bookmark["corsponding_requests"] << request_bookmarked[:_id] 
     Bookmark.createBookmark(bookmark) 
     if request_bookmarked[:favourites_of] == nil 
     request_bookmarked[:favourites_of] = Array.new 
     request_bookmarked_2[:favourites_of] = Array.new 
     end 
     if bookmarked_against_Request_2[:favourites] == nil 
     bookmarked_against_Request_2[:favourites] = Array.new 
     bookmarked_against_Request[:favourites]= Array.new 
     end 
     bookmarked_against_Request_2[:favourites] << request_bookmarked[:_id] 
     request_bookmarked[:favourites_of] << bookmarked_against_Request_2[:_id] 
     flash[:notice] = "Request has been bookmarked successfully." 
    end 
    request_bookmarked.update(Hash['favourites' ,request_bookmarked_2[:favourites]]) 
    bookmarked_against_Request.update(Hash['favourites' ,bookmarked_against_Request_2[:favourites]]) 

我試圖self.new (title)但它仍不斷給我的錯誤。

這裏的屏幕截圖我的錯誤: error screenshot http://i62.tinypic.com/sf81le.jpg

> ArgumentError - wrong number of arguments (1 for 0):() 
> home/gardezi/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/bundler/gems/mongoid-1a7bbaabf1f0/lib/mongoid/fields/standard.rb:10:in 
> `mongoize' () 
> home/gardezi/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/bundler/gems/mongoid-1a7bbaabf1f0/lib/mongoid/attributes.rb:291:in `typed_value_for' () 
> home/gardezi/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/bundler/gems/mongoid-1a7bbaabf1f0/lib/mongoid/attributes.rb:174:in `block in write_attribute' () 
> home/gardezi/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/bundler/gems/mongoid-1a7bbaabf1f0/lib/mongoid/threaded/lifecycle.rb:26:in 
> `_assigning' () 
> home/gardezi/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/bundler/gems/mongoid-1a7bbaabf1f0/lib/mongoid/attributes.rb:170:in `write_attribute' app/models/bookmark.rb:14:in `createBookmark' 
> app/controllers/requests_controller.rb:217:in `bookmark_request' 
> actionpack (4.2.0) lib/action_controller/metal/implicit_render.rb:4:in 
> >`send_action' actionpack (4.2.0) lib/abstract_controller/base.rb:198:in `process_action' actionpack 
> (4.2.0) lib/action_controller/metal/rendering.rb:10:in 
> >`process_action' actionpack (4.2.0) lib/abstract_controller/callbacks.rb:20:in `block in >process_action' 
> activesupport (4.2.0) lib/active_support/callbacks.rb:117:in `call' 
> activesupport (4.2.0) lib/active_support/callbacks.rb:151:in `block in 
> >halting_and_conditional' activesupport (4.2.0) lib/active_support/callbacks.rb:151:in `block in 
> >halting_and_conditional' activesupport (4.2.0) lib/active_support/callbacks.rb:234:in `block in >halting' 
+1

也發佈了錯誤跟蹤。 – shivam

+0

我添加了截圖給我的錯誤@shivam – Gardezi

+0

標題不是屬性。這是一個散列,其中owner_req,request_id和corsponding_req存在@Deep – Gardezi

回答

0

感謝你的人你的時間,但我解決我的問題。所有者請求已更改爲user_id,因爲當我編寫belongs_to:user時,它將假定屬性名稱爲user_id

相關問題