I've read the docs on how to use attachment_fu with activescaffold,
and can't seem to get it working. Specifically, the parent object
(and other parent objects) scaffolding works just fine, but I can't
get the attachment object to store or even to show as a nested link.
The model is : HostedSite has one or more LogoAttachement. Here are
the files:
class HostedSite < ActiveRecord::Base
has_many :logo_attachments
def uploaded_data
nil
end
def uploaded_data=(data)
self.logo_attachments << LogoAttachment.new(:uploaded_data =>
data)
end
end
class Admin::HostedSitesController < Admin::AdminController
active_scaffold :hosted_site do |config|
config.columns =
[:title, :domain, :theme, :uploaded_data, :language, :sbr_sportsbook,
:parent_site, :relative_directory_name ]
list.columns =
[:title, :domain, :sbr_sportsbook, :theme, :parent_site,
:relative_directory_name, :language]
config.columns[:sbr_sportsbook].form_ui = :select
config.columns[:parent_site].form_ui = :select
config.columns[:css_files].options[:rows]=3
config.columns[:javascript_files].options[:rows]=3
config.create.multipart=true
config.nested.add_link("Logos", [:logo_attachments])
end
end
module HostedSiteHelper
def uploaded_data_form_column(record, input_name)
file_field_tag input_name
end
end
class LogoAttachment < ActiveRecord::Base
has_attachment :content_type => :image,
:storage => :file_system,
:resize_to => '290x96>',
:processor => "Rmagick",
:thumbnails => { :small => '73x24>' },
:path_prefix => 'public/uploads/logo_attachments'
validates_as_attachment
belongs_to :hosted_site
end
class Admin::LogoAttachmentsController < Admin::AdminController
active_scaffold :logo_attachment do |config|
config.columns.add :uploaded_data
config.create.multipart=true
config.create.columns = [:uploaded_data]
config.list.columns = [:filename, :image]
end
end
module LogoAttachmentHelper
def image_column(record)
image_tag record.public_filename(:thumb)
end
def uploaded_data_form_column(record, input_name)
file_field_tag input_name
end
end
I've followed the document on the wiki, I think, down to the T and
have tried 10-20 permutations (tried has_one, tried without Admin::
namespace, ...). I can create the attachment in a vanilla controller,
so it appears fine. When I try to list the "Logos" for a
HostedSite, I receive:
Processing Admin::HostedSitesController#nested (for 127.0.0.1 at
2010-04-22 11:16:35) [GET]
Parameters: {"adapter"=>"_list_inline_adapter", "id"=>"1",
"associations"=>"logo_attachments"}
HostedSite Load (0.2ms) SELECT * FROM `hosted_sites` WHERE
(`hosted_sites`.`domain` = 'www.bodog.local') LIMIT 1
HostedSite Load (0.1ms) SELECT * FROM `hosted_sites` WHERE
(`hosted_sites`.`id` = 1)
LogoAttachment Columns (1.2ms) SHOW FIELDS FROM `logo_attachments`
ActionView::TemplateError (undefined method `render_component' for
#<ActionView::Base:0x103449658>) on line #31 of vendor/plugins/
active_scaffold/frontends/default/views/_nested.html.erb:
28: :constraints => @constraints,
29: :conditions => association.options[:conditions],
30: :label => h(@label),
31: :params => {:nested => true, :parent_column =>
column_name, :parent_model => association.active_record.name}
32: )
33: end
34: end
vendor/plugins/active_scaffold/frontends/default/views/
_nested.html.erb:31
vendor/plugins/active_scaffold/frontends/default/views/
_nested.html.erb:11:in `each'
vendor/plugins/active_scaffold/frontends/default/views/
_nested.html.erb:11
haml (2.2.3) lib/haml/helpers/action_view_mods.rb:13:in
`render_without_active_scaffold'
haml (2.2.3) rails/./lib/sass/plugin/rails.rb:19:in `process'
Rendered rescues/_trace (54.4ms)
Rendered rescues/_request_and_response (0.4ms)
Rendering rescues/layout (internal_server_error)
Also, if I try to go to the logo listing screen directly and add a
logo, it fails as well.
Thanks in advance...
Russell
--
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.