Hey I am on version 1.4.0 pre release and am getting a similar error. I 
tryed adding the :accessible => true as well as experimented with the 
:creator and :foreign_key tags with no luck. Maybe I'm missing something 
obvious but here is the relevant code and error message.

Thanks in advance for any help or suggestions you can offer,
Chris Sleys

 `block in owner_routes': Hob routing error -- can't find reverse 
association for Hour#owner (e.g. the :has_many that corresponds to a 
:belongs_to) (Hobo::Error)

class Hour < ActiveRecord::Base

  hobo_model # Don't put anything above this

  fields do
    hours_worked    :decimal
    date            :date
    comments        :text
    timestamps
  end

  belongs_to :project, :inverse_of => :hours
  belongs_to :work_code, :inverse_of => :hours
  belongs_to :owner, :class_name => "User", :creator => true, :inverse_of 
=> :hours, :accessible => true, :dependent => :destroy 
  
  # --- Permissions --- #

  def create_permitted?
    acting_user.signed_up?
  end

  def update_permitted?
    acting_user.administrator?
    owner_is? acting_user
  end

  def destroy_permitted?
    acting_user.administrator?
    owner_is? acting_user
  end

  def view_permitted?(field)
    owner_is? acting_user
  end

end


class User < ActiveRecord::Base

  hobo_user_model # Don't put anything above this

  fields do
    name          :string, :required, :unique
    email_address :email_address, :login => true
    administrator :boolean, :default => false
    timestamps
  end

  # This gives admin rights and an :active state to the first sign-up.
  # Just remove it if you don't want that
  before_create do |user|
    if !Rails.env.test? && user.class.count == 0
      user.administrator = true
      user.state = "active"
    end
  end

  def new_password_required_with_invite_only?
    new_password_required_without_invite_only? || self.class.count==0
  end
  alias_method_chain :new_password_required?, :invite_only

  # --- Signup lifecycle --- #

  lifecycle do

    state :invited, :default => true
    state :active

    create :invite,
           :available_to => "acting_user if acting_user.administrator?",
           :subsite => "admin",
           :params => [:name, :email_address],
           :new_key => true,
           :become => :invited do
       UserMailer.invite(self, lifecycle.key).deliver
    end

    transition :accept_invitation, { :invited => :active }, :available_to 
=> :key_holder,
               :params => [ :password, :password_confirmation ]

    transition :request_password_reset, { :active => :active }, :new_key => 
true do
      UserMailer.forgot_password(self, lifecycle.key).deliver
    end

    transition :reset_password, { :active => :active }, :available_to => 
:key_holder,
               :params => [ :password, :password_confirmation ]

  end

  def signed_up?
    state=="active"
  end
  
  has_many :hours, :inverse_of => :owner, :accessible => true
  children :hours

  # --- Permissions --- #

  def create_permitted?
    # Only the initial admin user can be created
    self.class.count == 0
  end

  def update_permitted?
    acting_user.administrator? ||
      (acting_user == self && only_changed?(:email_address, 
:crypted_password,
                                            :current_password, :password, 
:password_confirmation))
    # Note: crypted_password has attr_protected so although it is permitted 
to change, it cannot be changed
    # directly from a form submission.
  end

  def destroy_permitted?
    acting_user.administrator?
  end

  def view_permitted?(field)
    true
  end
end



Thanks,
Chris Sleys

On Thursday, January 21, 2010 5:01:11 PM UTC-5, Me wrote:
>
>
> Greetings.  I built an app sometime back with Hobo 0.8.3 and rails
> 2.1.1 on Ubuntu Hardy.  That machine is now defunct.  I'm trying to re-
> deploy it with  0.9.103 on an Ubuntu Jaunty machine with rails 2.3.5.
> I've overcome a few gotchas, but this one has me stumped:
>
> model_router.rb:176:in `owner_routes': Hob routing error -- can't find
> reverse association for Archive#workspace (e.g. the :has_many that
> corresponds to a :belongs_to) (HoboError)
>
> From searching the archives, the solution each time was to correct
> errors in the association itself.  In my case, I can't find what I did
> wrong.  At the same time, it used to work.  This is the association
> that used to be valid:
>
> archive.rb
> belongs_to :workspace
>
> workspace.rb
> has_many   :archives,                       :foreign_key  =>
> "workspace_id"
>
> In archive_controller.rb :
>   auto_actions :all, :except => :index
>   auto_actions_for :workspace,  [:new]
>
> I tried adding the FK to the archive.rb belongs_to half, but it didn't
> help. I also tried downgrading to rails 2.2.2, but got the same error.
> Does anyone know what I did wrong?
>
> Thanks!
>
>
On Thursday, January 21, 2010 5:01:11 PM UTC-5, Me wrote:
>
>
> Greetings.  I built an app sometime back with Hobo 0.8.3 and rails
> 2.1.1 on Ubuntu Hardy.  That machine is now defunct.  I'm trying to re-
> deploy it with  0.9.103 on an Ubuntu Jaunty machine with rails 2.3.5.
> I've overcome a few gotchas, but this one has me stumped:
>
> model_router.rb:176:in `owner_routes': Hob routing error -- can't find
> reverse association for Archive#workspace (e.g. the :has_many that
> corresponds to a :belongs_to) (HoboError)
>
> From searching the archives, the solution each time was to correct
> errors in the association itself.  In my case, I can't find what I did
> wrong.  At the same time, it used to work.  This is the association
> that used to be valid:
>
> archive.rb
> belongs_to :workspace
>
> workspace.rb
> has_many   :archives,                       :foreign_key  =>
> "workspace_id"
>
> In archive_controller.rb :
>   auto_actions :all, :except => :index
>   auto_actions_for :workspace,  [:new]
>
> I tried adding the FK to the archive.rb belongs_to half, but it didn't
> help. I also tried downgrading to rails 2.2.2, but got the same error.
> Does anyone know what I did wrong?
>
> Thanks!
>
>

-- 
You received this message because you are subscribed to the Google Groups "Hobo 
Users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/hobousers/-/S9iyXiuqKnUJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/hobousers?hl=en.

Reply via email to