Hi All
i have two models, Content and Page
class Content < ActiveRecord::Base
attr_accessible :large_description, :short_description
belongs_to :contentable , :polymorphic => trueend
class Page < ActiveRecord::Base
extend FriendlyId
friendly_id :title, use: [:slugged, :history]
attr_accessible :active, :menu, :slug, :title, :contents
validates :title, presence: true
has_many :contents, as: :contentableend
this is my simple form to create a new page with contents
<%= form_for([:admin,@page], :html => {:class => "nice
custom"}) do |f| %>
<div class="formRow">
<%= f.label :title, "Title"%>
<%= f.text_field :title, :class => ''input-text''%>
</div>
<%= f.fields_for :contents do |content_form| %>
<div class="formRow">
<%= content_form.label :short_description, "Short
Description"%>
<%= content_form.text_area :short_description, :class =>
''tinymce expand''%>
</div>
<div class="formRow">
<%= content_form.label :large_description, "Large
Description"%>
<%= content_form.text_area :large_description, :class =>
''tinymce expand''%>
</div>
<% end %>
<div class="formRow">
<%= f.submit "Create", :class => ''button small
nice blue''%>
</div><% end %>
and finally this is my page controller
class Admin::PagesController < ApplicationController
layout ''admin''
def index
@pages = Page.order("created_at")
end
def new
@page = Page.new
end
def create
@page = Page.new(params[:page])
if @page.save
redirect_to page_url
else
render :new
end
end
def show
@page = Page.find(params[:id])
end
def destroy
@page = Page.find(params[:id])
@page.destroy
redirect_to page_url
endend
i have used a namespace Admin.
so the problem is when i send the form, i receive this error and i
don''t
undersand why have a mismatch:
ActiveRecord::AssociationTypeMismatch in Admin::PagesController#create
Content(#70150608194420) expected, got Array(#70150590276780)
activerecord (3.2.8) lib/active_record/associations/association.rb:204:in
`raise_on_type_mismatch''
activerecord (3.2.8)
lib/active_record/associations/collection_association.rb:308:in `block in
replace''
activerecord (3.2.8)
lib/active_record/associations/collection_association.rb:308:in `each''
activerecord (3.2.8)
lib/active_record/associations/collection_association.rb:308:in
`replace''
activerecord (3.2.8)
lib/active_record/associations/collection_association.rb:41:in `writer''
activerecord (3.2.8) lib/active_record/associations/builder/association.rb:51:in
`block in define_writers''
activerecord (3.2.8) lib/active_record/attribute_assignment.rb:94:in `block in
assign_attributes''
activerecord (3.2.8) lib/active_record/attribute_assignment.rb:93:in
`each''
activerecord (3.2.8) lib/active_record/attribute_assignment.rb:93:in
`assign_attributes''
activerecord (3.2.8) lib/active_record/base.rb:498:in `initialize''
app/controllers/admin/pages_controller.rb:13:in `new''
app/controllers/admin/pages_controller.rb:13:in `create''
actionpack (3.2.8) lib/action_controller/metal/implicit_render.rb:4:in
`send_action''
actionpack (3.2.8) lib/abstract_controller/base.rb:167:in
`process_action''
actionpack (3.2.8) lib/action_controller/metal/rendering.rb:10:in
`process_action''
actionpack (3.2.8) lib/abstract_controller/callbacks.rb:18:in `block in
process_action''
activesupport (3.2.8) lib/active_support/callbacks.rb:414:in
`_run__3558390125630086563__process_action__2004224720818030891__callbacks''
activesupport (3.2.8) lib/active_support/callbacks.rb:405:in
`__run_callback''
activesupport (3.2.8) lib/active_support/callbacks.rb:385:in
`_run_process_action_callbacks''
activesupport (3.2.8) lib/active_support/callbacks.rb:81:in
`run_callbacks''
actionpack (3.2.8) lib/abstract_controller/callbacks.rb:17:in
`process_action''
actionpack (3.2.8) lib/action_controller/metal/rescue.rb:29:in
`process_action''
actionpack (3.2.8) lib/action_controller/metal/instrumentation.rb:30:in `block
in process_action''
activesupport (3.2.8) lib/active_support/notifications.rb:123:in `block in
instrument''
activesupport (3.2.8) lib/active_support/notifications/instrumenter.rb:20:in
`instrument''
activesupport (3.2.8) lib/active_support/notifications.rb:123:in
`instrument''
actionpack (3.2.8) lib/action_controller/metal/instrumentation.rb:29:in
`process_action''
actionpack (3.2.8) lib/action_controller/metal/params_wrapper.rb:207:in
`process_action''
activerecord (3.2.8) lib/active_record/railties/controller_runtime.rb:18:in
`process_action''
actionpack (3.2.8) lib/abstract_controller/base.rb:121:in `process''
actionpack (3.2.8) lib/abstract_controller/rendering.rb:45:in `process''
actionpack (3.2.8) lib/action_controller/metal.rb:203:in `dispatch''
actionpack (3.2.8) lib/action_controller/metal/rack_delegation.rb:14:in
`dispatch''
actionpack (3.2.8) lib/action_controller/metal.rb:246:in `block in
action''
actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:73:in
`call''
actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:73:in
`dispatch''
actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:36:in
`call''
journey (1.0.4) lib/journey/router.rb:68:in `block in call''
journey (1.0.4) lib/journey/router.rb:56:in `each''
journey (1.0.4) lib/journey/router.rb:56:in `call''
actionpack (3.2.8) lib/action_dispatch/routing/route_set.rb:600:in
`call''
actionpack (3.2.8)
lib/action_dispatch/middleware/best_standards_support.rb:17:in `call''
rack (1.4.1) lib/rack/etag.rb:23:in `call''
rack (1.4.1) lib/rack/conditionalget.rb:35:in `call''
actionpack (3.2.8) lib/action_dispatch/middleware/head.rb:14:in `call''
actionpack (3.2.8) lib/action_dispatch/middleware/params_parser.rb:21:in
`call''
actionpack (3.2.8) lib/action_dispatch/middleware/flash.rb:242:in
`call''
rack (1.4.1) lib/rack/session/abstract/id.rb:205:in `context''
rack (1.4.1) lib/rack/session/abstract/id.rb:200:in `call''
actionpack (3.2.8) lib/action_dispatch/middleware/cookies.rb:339:in
`call''
activerecord (3.2.8) lib/active_record/query_cache.rb:64:in `call''
activerecord (3.2.8)
lib/active_record/connection_adapters/abstract/connection_pool.rb:473:in
`call''
actionpack (3.2.8) lib/action_dispatch/middleware/callbacks.rb:28:in `block in
call''
activesupport (3.2.8) lib/active_support/callbacks.rb:405:in
`_run__3479256987463636693__call__4454778504255292268__callbacks''
activesupport (3.2.8) lib/active_support/callbacks.rb:405:in
`__run_callback''
activesupport (3.2.8) lib/active_support/callbacks.rb:385:in
`_run_call_callbacks''
activesupport (3.2.8) lib/active_support/callbacks.rb:81:in
`run_callbacks''
actionpack (3.2.8) lib/action_dispatch/middleware/callbacks.rb:27:in
`call''
actionpack (3.2.8) lib/action_dispatch/middleware/reloader.rb:65:in
`call''
actionpack (3.2.8) lib/action_dispatch/middleware/remote_ip.rb:31:in
`call''
actionpack (3.2.8) lib/action_dispatch/middleware/debug_exceptions.rb:16:in
`call''
actionpack (3.2.8) lib/action_dispatch/middleware/show_exceptions.rb:56:in
`call''
railties (3.2.8) lib/rails/rack/logger.rb:26:in `call_app''
railties (3.2.8) lib/rails/rack/logger.rb:16:in `call''
actionpack (3.2.8) lib/action_dispatch/middleware/request_id.rb:22:in
`call''
rack (1.4.1) lib/rack/methodoverride.rb:21:in `call''
rack (1.4.1) lib/rack/runtime.rb:17:in `call''
activesupport (3.2.8) lib/active_support/cache/strategy/local_cache.rb:72:in
`call''
rack (1.4.1) lib/rack/lock.rb:15:in `call''
actionpack (3.2.8) lib/action_dispatch/middleware/static.rb:62:in
`call''
railties (3.2.8) lib/rails/engine.rb:479:in `call''
railties (3.2.8) lib/rails/application.rb:223:in `call''
rack (1.4.1) lib/rack/content_length.rb:14:in `call''
railties (3.2.8) lib/rails/rack/log_tailer.rb:17:in `call''
rack (1.4.1) lib/rack/handler/webrick.rb:59:in `service''
/Users/ogonbat/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:138:in
`service''
/Users/ogonbat/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:94:in
`run''
/Users/ogonbat/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:191:in
`block in start_thread''
this are the request parameters
{"utf8"=>"✓",
"authenticity_token"=>"g44p+IPxvdm2ouGAE2u2dV/cCKK8uF6G3XLL4z26zrI=",
"page"=>{"title"=>"zfdzfdsf",
"contents"=>{"short_description"=>"<p>sdfdsf</p>",
"large_description"=>"<p>dsfdsf</p>"}},
"commit"=>"Create"}
First of all, sorry if this is a stupid question , but i have spent a lot
of hours find in google a solution without any result.
thank''s in advance for your help
--
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msg/rubyonrails-talk/-/sogBbwiOW4gJ.
For more options, visit https://groups.google.com/groups/opt_out.