html - Creating links, with categories and filters, ActiveRecord::AssociationTypeMismatch in LinksController#create -
i stuck , need help. trying create links have categories , filters them. when i'm trying create new link categories , filter website show message i've inserted.
i inserted of code, if i'm missing please comment , add right away.
activerecord::associationtypemismatch in linkscontroller#create level(#70251425229100) expected, got string(#70251404789620) extracted source (around line #27): # post /links.json def create @link = current_user.links.build(link_params) respond_to |format| if @link.save rails.root: /users/victorblomberg/startcode_co
activerecord (4.2.1) lib/active_record/associations/association.rb:216:in `raise_on_type_mismatch!' activerecord (4.2.1) lib/active_record/associations/belongs_to_association.rb:12:in `replace' activerecord (4.2.1) lib/active_record/associations/singular_association.rb:17:in `writer' activerecord (4.2.1) lib/active_record/associations/builder/association.rb:123:in `level=' activerecord (4.2.1) lib/active_record/attribute_assignment.rb:54:in `public_send' activerecord (4.2.1) lib/active_record/attribute_assignment.rb:54:in `_assign_attribute' activerecord (4.2.1) lib/active_record/attribute_assignment.rb:41:in `block in assign_attributes' actionpack (4.2.1) lib/action_controller/metal/strong_parameters.rb:183:in `each_pair' actionpack (4.2.1) lib/action_controller/metal/strong_parameters.rb:183:in `each_pair' activerecord (4.2.1) lib/active_record/attribute_assignment.rb:35:in `assign_attributes' activerecord (4.2.1) lib/active_record/core.rb:559:in `init_attributes' activerecord (4.2.1) lib/active_record/core.rb:281:in `initialize' activerecord (4.2.1) lib/active_record/inheritance.rb:61:in `new' activerecord (4.2.1) lib/active_record/inheritance.rb:61:in `new' activerecord (4.2.1) lib/active_record/reflection.rb:131:in `build_association' activerecord (4.2.1) lib/active_record/associations/association.rb:247:in `build_record' activerecord (4.2.1) lib/active_record/associations/collection_association.rb:146:in `build' activerecord (4.2.1) lib/active_record/associations/collection_proxy.rb:259:in `build' app/controllers/links_controller.rb:27:in `create' actionpack (4.2.1) lib/action_controller/metal/implicit_render.rb:4:in `send_action' actionpack (4.2.1) lib/abstract_controller/base.rb:198:in `process_action' actionpack (4.2.1) lib/action_controller/metal/rendering.rb:10:in `process_action' actionpack (4.2.1) lib/abstract_controller/callbacks.rb:20:in `block in process_action' activesupport (4.2.1) lib/active_support/callbacks.rb:117:in `call' activesupport (4.2.1) lib/active_support/callbacks.rb:117:in `call' activesupport (4.2.1) lib/active_support/callbacks.rb:555:in `block (2 levels) in compile' activesupport (4.2.1) lib/active_support/callbacks.rb:505:in `call' activesupport (4.2.1) lib/active_support/callbacks.rb:505:in `call' activesupport (4.2.1) lib/active_support/callbacks.rb:92:in `_run_callbacks' activesupport (4.2.1) lib/active_support/callbacks.rb:776:in `_run_process_action_callbacks' activesupport (4.2.1) lib/active_support/callbacks.rb:81:in `run_callbacks' actionpack (4.2.1) lib/abstract_controller/callbacks.rb:19:in `process_action' actionpack (4.2.1) lib/action_controller/metal/rescue.rb:29:in `process_action' actionpack (4.2.1) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action' activesupport (4.2.1) lib/active_support/notifications.rb:164:in `block in instrument' activesupport (4.2.1) lib/active_support/notifications/instrumenter.rb:20:in `instrument' activesupport (4.2.1) lib/active_support/notifications.rb:164:in `instrument' actionpack (4.2.1) lib/action_controller/metal/instrumentation.rb:30:in `process_action' actionpack (4.2.1) lib/action_controller/metal/params_wrapper.rb:250:in `process_action' activerecord (4.2.1) lib/active_record/railties/controller_runtime.rb:18:in `process_action' actionpack (4.2.1) lib/abstract_controller/base.rb:137:in `process' actionview (4.2.1) lib/action_view/rendering.rb:30:in `process' actionpack (4.2.1) lib/action_controller/metal.rb:196:in `dispatch' actionpack (4.2.1) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch' actionpack (4.2.1) lib/action_controller/metal.rb:237:in `block in action' actionpack (4.2.1) lib/action_dispatch/routing/route_set.rb:74:in `call' actionpack (4.2.1) lib/action_dispatch/routing/route_set.rb:74:in `dispatch' actionpack (4.2.1) lib/action_dispatch/routing/route_set.rb:43:in `serve' actionpack (4.2.1) lib/action_dispatch/journey/router.rb:43:in `block in serve' actionpack (4.2.1) lib/action_dispatch/journey/router.rb:30:in `each' actionpack (4.2.1) lib/action_dispatch/journey/router.rb:30:in `serve' actionpack (4.2.1) lib/action_dispatch/routing/route_set.rb:819:in `call' warden (1.2.3) lib/warden/manager.rb:35:in `block in call' warden (1.2.3) lib/warden/manager.rb:34:in `catch' warden (1.2.3) lib/warden/manager.rb:34:in `call' rack (1.6.1) lib/rack/etag.rb:24:in `call' rack (1.6.1) lib/rack/conditionalget.rb:38:in `call' rack (1.6.1) lib/rack/head.rb:13:in `call' actionpack (4.2.1) lib/action_dispatch/middleware/params_parser.rb:27:in `call' actionpack (4.2.1) lib/action_dispatch/middleware/flash.rb:260:in `call' rack (1.6.1) lib/rack/session/abstract/id.rb:225:in `context' rack (1.6.1) lib/rack/session/abstract/id.rb:220:in `call' actionpack (4.2.1) lib/action_dispatch/middleware/cookies.rb:560:in `call' activerecord (4.2.1) lib/active_record/query_cache.rb:36:in `call' activerecord (4.2.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:649:in `call' activerecord (4.2.1) lib/active_record/migration.rb:378:in `call' actionpack (4.2.1) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call' activesupport (4.2.1) lib/active_support/callbacks.rb:88:in `call' activesupport (4.2.1) lib/active_support/callbacks.rb:88:in `_run_callbacks' activesupport (4.2.1) lib/active_support/callbacks.rb:776:in `_run_call_callbacks' activesupport (4.2.1) lib/active_support/callbacks.rb:81:in `run_callbacks' actionpack (4.2.1) lib/action_dispatch/middleware/callbacks.rb:27:in `call' actionpack (4.2.1) lib/action_dispatch/middleware/reloader.rb:73:in `call' actionpack (4.2.1) lib/action_dispatch/middleware/remote_ip.rb:78:in `call' actionpack (4.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call' web-console (2.1.2) lib/web_console/middleware.rb:37:in `call' actionpack (4.2.1) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call' railties (4.2.1) lib/rails/rack/logger.rb:38:in `call_app' railties (4.2.1) lib/rails/rack/logger.rb:20:in `block in call' activesupport (4.2.1) lib/active_support/tagged_logging.rb:68:in `block in tagged' activesupport (4.2.1) lib/active_support/tagged_logging.rb:26:in `tagged' activesupport (4.2.1) lib/active_support/tagged_logging.rb:68:in `tagged' railties (4.2.1) lib/rails/rack/logger.rb:20:in `call' actionpack (4.2.1) lib/action_dispatch/middleware/request_id.rb:21:in `call' rack (1.6.1) lib/rack/methodoverride.rb:22:in `call' rack (1.6.1) lib/rack/runtime.rb:18:in `call' activesupport (4.2.1) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' rack (1.6.1) lib/rack/lock.rb:17:in `call' actionpack (4.2.1) lib/action_dispatch/middleware/static.rb:113:in `call' rack (1.6.1) lib/rack/sendfile.rb:113:in `call' railties (4.2.1) lib/rails/engine.rb:518:in `call' railties (4.2.1) lib/rails/application.rb:164:in `call' rack (1.6.1) lib/rack/lock.rb:17:in `call' rack (1.6.1) lib/rack/content_length.rb:15:in `call' rack (1.6.1) lib/rack/handler/webrick.rb:89:in `service' /users/victorblomberg/.rbenv/versions/2.2.2/lib/ruby/2.2.0/webrick/httpserver.rb:138:in `service' /users/victorblomberg/.rbenv/versions/2.2.2/lib/ruby/2.2.0/webrick/httpserver.rb:94:in `run' /users/victorblomberg/.rbenv/versions/2.2.2/lib/ruby/2.2.0/webrick/server.rb:294:in `block in start_thread'
form.html.erb
<%= form_for(@link) |f| %> <% if @link.errors.any? %> <div id="error_explanation"> <h2><%= pluralize(@link.errors.count, "error") %> prohibited link being saved:</h2> <ul> <% @link.errors.full_messages.each |message| %> <li><%= message %></li> <% end %> </ul> </div> <% end %> <div class="form-group"> <%= f.collection_select :category_id, category.all, :id, :name, {promt: "choose category" }, input_html: { class: "dropdown-toggle" } %> <%= f.collection_select :level_id, level.all, :id, :name, {promt: "choose level" }, input_html: { class: "dropdown-toggle" } %> <div class="field"> <%= f.label :title %><br> <%= f.text_field :title, class: "form-control" %> </div> <div class="field"> <%= f.label :subtitle %><br> <%= f.text_field :subtitle, class: "form-control" %> </div> <div class="field"> <%= f.label :company %><br> <%= f.text_field :company, class: "form-control" %> </div> <div class="field"> <%= f.label :websiteurl %><br> <%= f.text_field :websiteurl, :value => "http://", class: "form-control" %> </div> <div class="field"> <%= f.label :linkcourse %><br> <%= f.text_field :linkcourse, :value => "http://", class: "form-control" %> </div> <div class="field"> <%= f.label :time %><br> <%= f.text_field :time, class: "form-control" %> </div> <div class="field"> <%= f.label :kind %><br> <%= f.text_field :kind, class: "form-control" %> </div> <div class="field"> <%= f.label :level %><br> <%= f.text_field :level, class: "form-control" %> </div> <div class="field"> <%= f.label :sharefacebook %><br> <%= f.text_field :sharefacebook, :value => "http://", :target => '_blank', class: "form-control" %> </div> <div class="field"> <%= f.label :sharetwitter %><br> <%= f.text_field :sharetwitter, :value => "http://", class: "form-control" %> </div> <div class="field"> <%= f.label :cost %><br> <%= f.text_field :cost, class: "form-control" %> </div> <div class="actions"> <%= f.submit "submit", class: "btn btn-lg btn-primary"%> </div> </div> <% end %>
user.rb
class user < activerecord::base # include default devise modules. others available are: # :confirmable, :lockable, :timeoutable , :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable has_many :links end
class link < activerecord::base acts_as_votable belongs_to :user has_many :comments belongs_to :category belongs_to :level end
level.rb
class level < activerecord::base has_many :links end
category.rb
class category < activerecord::base has_many :links end
links_controller.rb
class linkscontroller < applicationcontroller before_action :set_link, only: [:show, :edit, :update, :destroy] before_filter :authenticate_user!, except: [:index, :show] # /links # /links.json def index @links = link.all end # /links/1 # /links/1.json def show end # /links/new def new @link = current_user.links.build end # /links/1/edit def edit end # post /links # post /links.json def create @link = current_user.links.build(link_params) respond_to |format| if @link.save format.html { redirect_to @link, notice: 'link created.' } format.json { render :show, status: :created, location: @link } else format.html { render :new } format.json { render json: @link.errors, status: :unprocessable_entity } end end end # patch/put /links/1 # patch/put /links/1.json def update respond_to |format| if @link.update(link_params) format.html { redirect_to @link, notice: 'link updated.' } format.json { render :show, status: :ok, location: @link } else format.html { render :edit } format.json { render json: @link.errors, status: :unprocessable_entity } end end end # delete /links/1 # delete /links/1.json def destroy @link.destroy respond_to |format| format.html { redirect_to links_url, notice: 'link destroyed.' } format.json { head :no_content } end end def upvote @link = link.find(params[:id]) @link.upvote_by current_user redirect_to :back end def downvote @link = link.find(params[:id]) @link.downvote_by current_user redirect_to :back end private # use callbacks share common setup or constraints between actions. def set_link @link = link.find(params[:id]) end # never trust parameters scary internet, allow white list through. def link_params params.require(:link).permit(:title, :subtitle, :company, :websiteurl, :linkcourse, :time, :kind, :level, :sharefacebook, :sharetwitter, :cost, :level_id, :category_id) end end
try adding level_id
, category_id
in link_params
def link_params params.require(:link).permit(:title, :subtitle, :company, :websiteurl, :linkcourse, :time, :kind, :level, :sharefacebook, :sharetwitter, :cost, :level_id, :category_id) end
Comments
Post a Comment