Hi

I have a simple test that uses a Polymorphic relationship - see below
- and grossly simplified.

Running this through the obvious AS controllers behaves as one would
expect. You can create orders from the various Customer controllers
and things are just fine.
However, I need to have a way to explore the data about the customer
from the orders controller.

Crudely(very!!) this can be done by mimicking a show_action. So if one
places this in orders_helper.rb:
def order_customer_column(record)
 "<a href='/customer1s/#{record.customer_id}?
_method=get&parent_controller=orders' class='show action order'
id='as_orders-customer1s-show-#{record.customer_id}-link'
position='after'>#{record.customer.name}    </a>"
end
I get a show action - and I can turn it into an edit etc etc - Ugly!

But there must be a better way to do this - and preferably one that
gives me access to the customers as a nested action - just like the
order_items in the code above.

This ought to be obvious - but I have stared at it so long I can not
see it. Suggestions ?

Code:
class Customer1 < ActiveRecord::Base
has_many :orders, :as => :customer
end

class Customer2 < ActiveRecord::Base
has_many :orders, :as => :customer
end

class Order < ActiveRecord::Base
  belongs_to :customer, :polymorphic => true
  has_many :order_items
end

class OrderItem < ActiveRecord::Base
  belongs_to :order
end
class Customer1sController < ApplicationController
  active_scaffold :customer1s do |config|
  end
end

class Customer2sController < ApplicationController
  active_scaffold :customer2s do |config|
  end
end

class OrderItemsController < ApplicationController
  active_scaffold :order_items do |config|
  end
end

class OrdersController < ApplicationController
  active_scaffold :orders do |config|
  end
end


/S

-- 
You received this message because you are subscribed to the Google Groups 
"ActiveScaffold : Ruby on Rails plugin" group.
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/activescaffold?hl=en.

Reply via email to