I have 2 models Product and Categories associated with each other via
a third model Categorization by using a has_many through. I'm trying
to use record_select  along with activescaffold to display the
products associated with a category. To do so, I'm using the model as
product (instead of categorizations) for the record_select in the
CategorizationsController.

However, when I choose a product from the record_select and submit the
form, it tries to match the id of the product selected to an id in the
categorizations table, rather than the products table. I know this is
not totally an activescaffold issue, but hopefully some of you might
have found a way to correctly use AS with record_select with has_many
through.

How do I fix this? What parameters should I set on the record_select?

My models and controllers are as listed below.

class CategorizationsController < BaseController
  record_select :search_on => 'Product.Name', :model => :product
  active_scaffold :categorization do |config|
    config.columns.exclude :created_at, :updated_at, :audits
  end
end


class CategoriesController < BaseController
  active_scaffold :category do |config|
    config.columns.exclude :created_at, :updated_at
    config.columns = [:name,
                      :categorizations]
    config.columns[:categorizations].form_ui = :record_select
  end
end


class Product < ActiveRecord::Base
  has_many :categorizations, :dependent => :destroy
  has_many :categories, :through => :categorizations

  def to_label
      "#{name}"
  end
end


class Category < ActiveRecord::Base
  has_many :categorizations, :dependent => :destroy
  has_many :products, :through => :categorizations

  def to_label
      "#{name}"
  end
end


class Categorization < ActiveRecord::Base
  belongs_to :product
  belongs_to :category

  def to_label
    "#{product.to_label}-#{category.to_label}"
  end
end

-- 
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