Ruby on Rails
Friday, September 27, 2013
I'm trying to create hotel with some fields, one of the fields is photo, i want to use multiple files upload with carrierwave and nested_form. I found this article and have some result.
When i'm on /hotels/new, filling fields, choosing photos and press submit, gettingActiveRecord::UnknownAttributeError in HotelsController#create unknown attribute: attachable_type. Console
Started POST "/hotels" for 127.0.0.1 at 2013-09-27 17:35:18 +0300 Processing by HotelsController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"+1T2tuygSnj8unOKkXkRWI4L7KvDE 9PPHrqvag7KmIQ=", "hotel"=>{"title"=>"dsa", "address"=>"asd", "star_rating"=>"2" , "breakfast"=>"Not include", "price_for_room"=>"sadas", "room_description"=>"Gr eat room", "attachments_attributes"=>{"1380289954031"=>{"file"=>#<ActionDispatch ::Http::UploadedFile:0xa5d546c @original_filename="11374.jpg", @content_type="im age/jpeg", @headers="Content-Disposition: form-data; name=\"hotel[attachments_at tributes][1380289954031][file]\"; filename=\"11374.jpg\"\r\nContent-Type: image/ jpeg\r\n", @tempfile=#<File:/tmp/RackMultipart20130927-7077-50zkol>>, "_destroy" =>"false"}, "1380289972216"=>{"file"=>#<ActionDispatch::Http::UploadedFile:0xa5d 53a4 @original_filename="357175.jpg", @content_type="image/jpeg", @headers="Cont ent-Disposition: form-data; name=\"hotel[attachments_attributes][1380289972216][ file]\"; filename=\"357175.jpg\"\r\nContent-Type: image/jpeg\r\n", @tempfile=#<F ile:/tmp/RackMultipart20130927-7077-dlkmwk>>, "_destroy"=>"false"}}}, "commit"=> "Done"} Completed 500 Internal Server Error in 109ms ActiveRecord::UnknownAttributeError (unknown attribute: attachable_type): app/controllers/hotels_controller.rb:15:in `new' app/controllers/hotels_controller.rb:15:in `create' ...
Model hotel.rb
class Hotel < ActiveRecord::Base attr_accessible :address, :breakfast, :price_for_room, :room_description, :star_rating, :title, :attachments_attributes has_many :attachments, :as => :attachable accepts_nested_attributes_for :attachments end
Model attachment.rb
class Attachment < ActiveRecord::Base attr_accessible :file belongs_to :attachable, :polymorphic => true mount_uploader :file, FileUploader end
hotels_controller.rb
... def new @hotel = Hotel.new end def create @hotel = Hotel.new(params[:hotel]) if @hotel.save redirect_to hotels_path, notice: "Nice, you added new hotel " + @hotel.title else render "new" end end
_form.rb
<%= nested_form_for @hotel, :html => {:multipart => true} do |f| %> ... <%= f.fields_for :attachments do |attachment_form|%> <%= attachment_form.label :file %> <%= attachment_form.file_field :file %> <%= attachment_form.link_to_remove "Remove this photo" %> <% end %> <%= f.link_to_add "Add photo", :attachments %> <%= f.submit 'Done', class: 'btn btn-success' %> <% end %>
Any ideas guys? What am I doing wrong here?
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/7b237af9-16cf-4f5e-8d12-6619ca51dd8b%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment