Sean,
I've updated to 1.9.2p136, completely removed my data from my riak store and
removed all the devise code from my User model and I'm still getting the same
issue.
--- 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
---
--- 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
---
Here's the exact input and output from the steps:
$ rails console
Loading development environment (Rails 3.0.3)
ruby-1.9.2-p136 :001 > user = User.new
=> <User:[new] email=nil password=nil password_confirmation=nil
encrypted_password=nil password_salt=nil reset_password_token=nil
confirmation_token=nil confirmed_at=nil confirmation_sent_at=nil
created_at=2011-02-08 21:21:13 +0000 updated_at=nil>
ruby-1.9.2-p136 :002 > user.save
=> false
ruby-1.9.2-p136 :003 > user.email = "[email protected]"
=> "[email protected]"
ruby-1.9.2-p136 :004 > user.save
=> true
ruby-1.9.2-p136 :005 > journal = JournalEntry.new
=> <JournalEntry: short_title=nil title=nil entry=nil created_at=2011-02-08
21:23:17 +0000 updated_at=nil>
ruby-1.9.2-p136 :006 > journal.short_title = "test"
=> "test"
ruby-1.9.2-p136 :007 > journal.title = "test"
=> "test"
ruby-1.9.2-p136 :008 > journal.entry = "test"
=> "test"
ruby-1.9.2-p136 :009 > journal.user = user
=> <User:[email protected]
email="[email protected]" password=nil
password_confirmation=nil encrypted_password=nil password_salt=nil
reset_password_token=nil confirmation_token=nil confirmed_at=nil
confirmation_sent_at=nil created_at=2011-02-08 21:21:13 UTC
updated_at=2011-02-08 21:21:39 UTC>
ruby-1.9.2-p136 :010 > journal.save
=> true
ruby-1.9.2-p136 :011 > journal.user
=> <User:[email protected]
email="[email protected]" password=nil
password_confirmation=nil encrypted_password=nil password_salt=nil
reset_password_token=nil confirmation_token=nil confirmed_at=nil
confirmation_sent_at=nil created_at=2011-02-08 21:21:13 UTC
updated_at=2011-02-08 21:21:39 UTC>
ruby-1.9.2-p136 :012 > journal = JournalEntry.first
=> <JournalEntry:test short_title="test" title="test" entry="test"
created_at=2011-02-08 21:23:17 UTC updated_at=2011-02-08 21:24:12 UTC>
ruby-1.9.2-p136 :013 > journal.user
(Object doesn't support #inspect)
=>
ruby-1.9.2-p136 :014 >
Maybe I'm doing something wrong here?
If not, I'll try creating a simple dummy model to associate the journal entry
with to see whether it's something else/some of the devise code is still active
somewhere in the User model.
Cheers,
Steve
On 8 Feb 2011, at 8:28 PM, Sean Cribbs wrote:
> You might also try upgrading to 1.9.2p136 (I hope you're using rvm). I'm not
> convinced that's the problem, however.
>
> Sean Cribbs <[email protected]>
> Developer Advocate
> Basho Technologies, Inc.
> http://basho.com/
>
> On Feb 8, 2011, at 3:11 PM, Stephen Allred wrote:
>
>> Sean
>>
>> $ ruby -v
>> ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.4.3]
>>
>> I'll try cleaning out my riak store and then without the devise code give it
>> a go.
>>
>> Cheers,
>> Steve
>>
>> On 8 Feb 2011, at 8:08PM, Sean Cribbs wrote:
>>
>>> Stephen,
>>>
>>> Without loading the devise-ripple stuff, I copied and pasted your model
>>> code into irb, and cannot reproduce the problem.
>>>
>>> irb> user = User.create(:email => "[email protected]")
>>> => <User:[email protected] email="[email protected]" password=nil
>>> password_confirmation=nil created_at=2011-02-08 20:06:27 UTC
>>> updated_at=2011-02-08 20:06:27 UTC>
>>> irb> journal_entry = JournalEntry.new(:short_title => "test", :title =>
>>> "test", :entry => "test")
>>> => <JournalEntry:test short_title="test" title="test" entry="test"
>>> created_at=2011-02-08 15:06:56 -0500 updated_at=nil>
>>> irb> journal_entry.user = user
>>> => <User:[email protected] email="[email protected]" password=nil
>>> password_confirmation=nil created_at=2011-02-08 20:06:27 UTC
>>> updated_at=2011-02-08 20:06:27 UTC>
>>> irb> journal_entry.save
>>> => true
>>> irb> journal_entry.reload
>>> => <JournalEntry:test short_title="test" title="test" entry="test"
>>> created_at=2011-02-08 20:06:56 UTC updated_at=2011-02-08 20:07:14 UTC>
>>> irb> journal_entry.user
>>> => <User:[email protected] email="[email protected]" password=nil
>>> password_confirmation=nil created_at=2011-02-08 20:06:27 UTC
>>> updated_at=2011-02-08 20:06:27 UTC>
>>>
>>> Out of curiosity, what version of Ruby are you using?
>>>
>>> Sean Cribbs <[email protected]>
>>> Developer Advocate
>>> Basho Technologies, Inc.
>>> http://basho.com/
>>>
>>> On Feb 8, 2011, at 2:54 PM, Stephen Allred wrote:
>>>
>>>> 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 <[email protected]>
>>>>> 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 <[email protected]>
>>>>>>> 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 <[email protected]>
>>>>>>>>> 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
>>>>>>>>>> [email protected]
>>>>>>>>>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com