Ripple one Association Troubles

Stephen Allred stephenallred at stevesmiscellany.com
Tue Feb 8 14:54:29 EST 2011


I've tried commenting out the devise stuff and added the properties that came from devise:

--- user.rb ---
require 'ripple'
#require 'digest'

class User
  include Ripple::Document
  
  #devise :registerable, :confirmable, :database_authenticatable, :recoverable, :validatable

  property :email,                  String, :presence => true
  property :password,               String
  property :password_confirmation,  String
  property :encrypted_password,     String
  property :password_salt,          String
  property :reset_password_token,   String
  property :confirmation_token,     String
  property :confirmed_at,           String
  property :confirmation_sent_at,   String
  timestamps!
  
  key_on :email
  
  def key
    email
  end

  def id
    email
  end
end
---

I'm still getting the same "(Object doesn't support #inspect)" when I call journal_entry.user (nil class).

Cheers,
Steve


On 8 Feb 2011, at 7:01 PM, Sean Cribbs wrote:

> I haven't played with ripple-devise. Try commenting those parts out first and see what happens.
> 
> Sean Cribbs <sean at basho.com>
> Developer Advocate
> Basho Technologies, Inc.
> http://basho.com/
> 
> On Feb 8, 2011, at 1:53 PM, Stephen Allred wrote:
> 
>> Sean,
>> 
>> Yeah, I fetched it in using User.first before trying to assign it.
>> 
>> Could this have something to do with using ripple-devise (the User document is a ripple-devise user)?
>> 
>> Thanks,
>> Steve
>> 
>> 
>> On 8 Feb 2011, at 6:47 PM, Sean Cribbs wrote:
>> 
>>> Stephen,
>>> 
>>> Was your User object saved before you added it the journal entry?
>>> 
>>> Sean Cribbs <sean at basho.com>
>>> Developer Advocate
>>> Basho Technologies, Inc.
>>> http://basho.com/
>>> 
>>> On Feb 8, 2011, at 1:46 PM, Stephen Allred wrote:
>>> 
>>>> Sean,
>>>> 
>>>> $ puts journal_entry.robject.links.inspect
>>>> #<Set: {</riak/users/stephenallred%40stevesmiscellany.com>; riaktag="user", </riak/journal_entries>; riaktag="up"}>
>>>> => nil 
>>>> 
>>>> $ journal_entry
>>>> => <JournalEntry:test short_title="test" title="test" entry="test" created_at=2011-02-07 22:47:17 UTC updated_at=2011-02-08 18:08:47 UTC>
>>>> 
>>>> $ journal_entry.user
>>>> (Object doesn't support #inspect)
>>>> =>
>>>> 
>>>> $ journal_entry.user.inspect
>>>> NoMethodError: undefined method `key' for nil:NilClass
>>>> 	from /Users/stephenallred/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.3/lib/active_support/whiny_nil.rb:48:in `method_missing'
>>>> 	from /Users/stephenallred/.rvm/gems/ruby-1.9.2-p0/gems/ripple-0.8.3/lib/ripple/document/finders.rb:122:in `block in instantiate'
>>>> 	from /Users/stephenallred/.rvm/gems/ruby-1.9.2-p0/gems/ripple-0.8.3/lib/ripple/document/finders.rb:121:in `tap'
>>>> 	from /Users/stephenallred/.rvm/gems/ruby-1.9.2-p0/gems/ripple-0.8.3/lib/ripple/document/finders.rb:121:in `instantiate'
>>>> 	from /Users/stephenallred/.rvm/gems/ruby-1.9.2-p0/gems/ripple-0.8.3/lib/ripple/associations/one_linked_proxy.rb:25:in `find_target'
>>>> 	from /Users/stephenallred/.rvm/gems/ruby-1.9.2-p0/gems/ripple-0.8.3/lib/ripple/associations/proxy.rb:113:in `load_target'
>>>> 	from /Users/stephenallred/.rvm/gems/ruby-1.9.2-p0/gems/ripple-0.8.3/lib/ripple/associations/proxy.rb:41:in `inspect'
>>>> 	from (irb):17
>>>> 	from /Users/stephenallred/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.3/lib/rails/commands/console.rb:44:in `start'
>>>> 	from /Users/stephenallred/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.3/lib/rails/commands/console.rb:8:in `start'
>>>> 	from /Users/stephenallred/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.3/lib/rails/commands.rb:23:in `<top (required)>'
>>>> 	from script/rails:6:in `require'
>>>> 	from script/rails:6:in `<main>'
>>>> 
>>>> Hopefully those are useful,
>>>> Thanks for the quick response!
>>>> Steve
>>>> 
>>>> On 8 Feb 2011, at 6:37 PM, Sean Cribbs wrote:
>>>> 
>>>>> Stephen,
>>>>> 
>>>>> Sounds like you've either found a bug.  When you have saved the journal entry in irb, what is the output of this command?
>>>>> 
>>>>> puts journal_entry.robject.links.inspect
>>>>> 
>>>>> Sean Cribbs <sean at basho.com>
>>>>> Developer Advocate
>>>>> Basho Technologies, Inc.
>>>>> http://basho.com/
>>>>> 
>>>>> On Feb 8, 2011, at 1:23 PM, Stephen Allred wrote:
>>>>> 
>>>>>> Hi all,
>>>>>> 
>>>>>> I'm having trouble setting up a one association in a ripple document. I'm trying to setup an association between a user and a journal entry, such that the journal has one user, that the user created.
>>>>>> 
>>>>>> My JournalEntry document:
>>>>>> 
>>>>>> --- journal_entry.rb ---
>>>>>> require 'ripple'
>>>>>> 
>>>>>> class JournalEntry
>>>>>> include Ripple::Document
>>>>>> 
>>>>>> property :short_title,  String, :presence => true
>>>>>> property :title,        String, :presence => true
>>>>>> property :entry,        String, :presence => true
>>>>>> 
>>>>>> timestamps!
>>>>>> 
>>>>>> one :user
>>>>>> 
>>>>>> key_on :short_title
>>>>>> end
>>>>>> ---
>>>>>> 
>>>>>> My User document:
>>>>>> 
>>>>>> --- user.rb ---
>>>>>> require 'ripple'
>>>>>> require 'digest'
>>>>>> 
>>>>>> class User
>>>>>> include Ripple::Document
>>>>>> 
>>>>>> devise :registerable, :confirmable, :database_authenticatable, :recoverable, :validatable
>>>>>> 
>>>>>> property :email,                  String, :presence => true
>>>>>> property :password,               String
>>>>>> property :password_confirmation,  String
>>>>>> timestamps!
>>>>>> 
>>>>>> key_on :email
>>>>>> 
>>>>>> def key
>>>>>> email
>>>>>> end
>>>>>> 
>>>>>> def id
>>>>>> email
>>>>>> end
>>>>>> end
>>>>>> ---
>>>>>> 
>>>>>> I've tried in the rails console to associate a user with journal_entry (journal_entry.user = user), save it and reload it. The resulting reloaded journal_entry does not have a user (calling journal_entry.user prints "(Object doesn't support #inspect)").
>>>>>> 
>>>>>> My journal entry in riak loaded via the browser looks like:
>>>>>> 
>>>>>> {"short_title":"test","title":"test","entry":"test","created_at":"Mon, 07 Feb 2011 22:47:17 -0000","updated_at":"Tue, 08 Feb 2011 18:08:47 -0000","_type":"JournalEntry"}
>>>>>> 
>>>>>> Does anyone know what I'm doing wrong?
>>>>>> Cheers!
>>>>>> Steve
>>>>>> _______________________________________________
>>>>>> riak-users mailing list
>>>>>> riak-users at lists.basho.com
>>>>>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>>>> 
>>>> 
>>> 
>> 
> 





More information about the riak-users mailing list