Sort of a way around the has_many_through problem, works if you dont
have to capture
any of the extra fields but if you do there are some resources that
may help.

http://groups.google.co.uk/group/activescaffold/browse_thread/thread/84452e8c72c176da/4e43879a4e7d5828?lnk=gst&q=has+many+through#4e43879a4e7d5828

On 24 May, 21:57, helmerj <[email protected]> wrote:
> Hi Johnny,
>
> thanks for your reply!
>
> On 23 Mai, 16:24, johnnybutler7 <[email protected]> wrote:
>
> > in the checkbox list but not the entire model.  You should be able to
> > get this by changing :categorizations to :categories in your blog
> > controller but as i stated then the edit wont sane any updates.  Will
> > see if any of the community come with something to help.
>
> That what I had started with but if I do I get this error:
>
> ------------
> NoMethodError in Blogs#index
>
> Showing vendor/plugins/active_scaffold/frontends/default/views/
> _list_record.html.erb where line #14 raised:
>
> undefined method `blog_id=' for #<Category:0xb704fff8>
>
> Extracted source (around line #14):
>
> 11:     <% column_value = get_column_value(record, column) -%>
> 12:
> 13:     <td class="<%= column_class(column, column_value) %>" >
> 14:       <%= record.authorized_for?(:action => :read, :column =>
> column.name) ? render_list_column(column_value, column, record) : ''
> %>
> 15:     </td>
> 16:   <% end -%>
> 17:   <% if active_scaffold_config.action_links.any? {|link| link.type
> == :record } -%>
> --------
> It toook me ages to come up with the :categorizations appraoch since
> it doesnt make much sense but it shows me what I want in the listing,
> albeit not what I need in the edit and update view...
>
> I really don't get from the little documentation that does exist on
> the active_scaffold site once would assume that this should work,
> albeit it does not... Leaves me puzzled...
>
>
>
>
>
> > For your 2nd point you have a couple of options.  Probably the easiest
> > is to exclude the exisiting show link like so and then add a new one
> > to your config.columns.
> > So in you blogs controller add :new_show to your exisiting columns
> > config.columns =
> > [:title, :body, :is_posted, :categorizations, :new_show ]
>
> > and in you blogs helper add something like the below to make the
> > new_show field an active link
> > config.columns :new_show
>
> > def new_show_column(record)
> >      link_to "Show", :controller => 'blogs', :action => 'show', :id =>
> > record)
> >  end
>
> > The other option is to overrite the partial that displays the action
> > links which may take a bit more time digging arouns.
>
> Will try the first approach :-) Looks like less work!
>
> Cheers Juergen
>
> > JB
>
> > On 23 May, 14:05, helmerj <[email protected]> wrote:
>
> > > Hi!
>
> > > I have trying to switch an existing application over to
> > > active_scaffold. I use several "has_many through" relationships in a
> > > number of models to let the user specify a set of features for each
> > > model.
>
> > > I have created a simple test application using rails 2.3 and
> > > active_scaffolds master branch. Following the README I have also
> > > installed the render_component plugin.
>
> > > I have two models, blog and category and the categorization model
> > > connecting them as follows:
>
> > > class Category < ActiveRecord::Base
> > >   has_many :categorizations
> > >   has_many :blogs, :through => :categorizations, :source => :blog
> > > end
>
> > > class Blog < ActiveRecord::Base
> > >   has_many :categorizations
> > >   has_many :categories, :through => :categorizations, :source
> > > => :category
> > >   validates_presence_of :title, :body
> > > end
>
> > > class Categorization < ActiveRecord::Base
> > >   belongs_to :blog
> > >   belongs_to :category
>
> > > #set the name of categorizations column in blog listing to categories
> > > names
> > >    def to_label
> > >     "#{category.name}"
> > >   end
> > > end
>
> > > After a long struggle I have figured out how to actually have anything
> > > displayed at all:
>
> > > In my blogs controller I have this:
>
> > > class BlogsController < ApplicationController
> > >  active_scaffold :blog do |config|
> > >     config.columns = [:title, :body, :is_posted, :categorizations ]
>
> > >     config.columns[:categorizations].form_ui = :select
> > >     config.columns[:categorizations].label = "Categories"
>
> > >     config.columns[:is_posted].label = "Entry posted?"
> > >     config.columns[:is_posted].form_ui = :checkbox
> > >   end
> > > end
>
> > > This will display all categories with the correct name from the
> > > category table as assigned in the categorizations table.
>
> > > GREAT!
>
> > > BUT:
>
> > > 1. When I click on the edit button for any record I do not see all
> > > categories available in the categories table but only any category
> > > that is currently assign or has been assigned before, since the
> > > unchecking of a category only removes the blog_id entry from the
> > > categorizations table but not the entry itself.
>
> > > Question: How can I have all available categories listed in the edit
> > > view?
>
> > > 2. The category entries are linked (http://localhost:3000/blogs/1/
> > > nested?_method=get&associations=categorizations) How would I change
> > > the link to the show page of the associated category?
>
> > > I am sorry if this is trivial. I have tried to find a howto or any
> > > other documentation on the matter but was not able to find anything
> > > helpful.
>
> > > Thanks in advance for any help
>
> > > Cheers Juergen
--~--~---------~--~----~------------~-------~--~----~
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