AssociationTypeMismatch expected Project got Project

Eduardo Yáñez Parareda
Mon, 05 Oct 2009 10:33:01 -0000

Using RAILS_GEM_VERSION = ''2.1.2''

Hello, I''m developing a plugin for another rails app. When I try to
show the new form view I got this error:

 ActiveRecord::AssociationTypeMismatch in Audit testsController#new

Project(#70348727429120) expected, got Project(#70348730882020)

RAILS_ROOT: /home/eyp/Aplicaciones/redmine-0.8.4
Application Trace | Framework Trace | Full Trace

vendor/rails/activerecord/lib/active_record/associations/
association_proxy.rb:210:in `raise_on_type_mismatch''
vendor/rails/activerecord/lib/active_record/associations/
belongs_to_association.rb:22:in `replace''
vendor/rails/activerecord/lib/active_record/associations.rb:1114:in
`project=''
vendor/plugins/redmine_audit_tests/app/controllers/
audit_tests_controller.rb:13:in `new''
vendor/rails/actionpack/lib/action_controller/base.rb:1166:in `send''
vendor/rails/actionpack/lib/action_controller/base.rb:1166:in
`perform_action_without_filters''
vendor/rails/actionpack/lib/action_controller/filters.rb:579:in
`call_filters''
vendor/rails/actionpack/lib/action_controller/filters.rb:572:in
`perform_action_without_benchmark''
vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in
`perform_action_without_rescue''
/usr/lib/ruby/1.8/benchmark.rb:293:in `measure''
vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in
`perform_action_without_rescue''
vendor/rails/actionpack/lib/action_controller/rescue.rb:201:in
`perform_action_without_caching''
vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:
13:in `perform_action''
vendor/rails/activerecord/lib/active_record/connection_adapters/
abstract/query_cache.rb:33:in `cache''
vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in
`cache''
vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:
12:in `perform_action''
vendor/rails/actionpack/lib/action_controller/base.rb:529:in `send''
vendor/rails/actionpack/lib/action_controller/base.rb:529:in
`process_without_filters''
vendor/rails/actionpack/lib/action_controller/filters.rb:568:in
`process_without_session_management_support''
vendor/rails/actionpack/lib/action_controller/session_management.rb:
130:in `process''
vendor/rails/actionpack/lib/action_controller/base.rb:389:in `process''
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:149:in
`handle_request''
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:107:in
`dispatch''
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:104:in
`synchronize''
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:104:in
`dispatch''
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:120:in
`dispatch_cgi''
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:35:in
`dispatch''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel/rails.rb:76:in
`process''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel/rails.rb:74:in
`synchronize''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel/rails.rb:74:in
`process''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:159:in
`process_client''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in
`each''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in
`process_client''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in
`run''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in
`initialize''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in
`new''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in
`run''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in
`initialize''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in
`new''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in
`run''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel/
configurator.rb:282:in `run''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel/
configurator.rb:281:in `each''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel/
configurator.rb:281:in `run''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:128:in
`run''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel/command.rb:
212:in `run''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281
vendor/rails/activesupport/lib/active_support/dependencies.rb:503:in
`load''
vendor/rails/activesupport/lib/active_support/dependencies.rb:503:in
`load''
vendor/rails/activesupport/lib/active_support/dependencies.rb:355:in
`new_constants_in''
vendor/rails/activesupport/lib/active_support/dependencies.rb:503:in
`load''
vendor/rails/railties/lib/commands/servers/mongrel.rb:64
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require''
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require''
vendor/rails/activesupport/lib/active_support/dependencies.rb:510:in
`require''
vendor/rails/activesupport/lib/active_support/dependencies.rb:355:in
`new_constants_in''
vendor/rails/activesupport/lib/active_support/dependencies.rb:510:in
`require''
vendor/rails/railties/lib/commands/server.rb:39
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require''
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require''
script/server:3

vendor/rails/activerecord/lib/active_record/associations/
association_proxy.rb:210:in `raise_on_type_mismatch''
vendor/rails/activerecord/lib/active_record/associations/
belongs_to_association.rb:22:in `replace''
vendor/rails/activerecord/lib/active_record/associations.rb:1114:in
`project=''
vendor/plugins/redmine_audit_tests/app/controllers/
audit_tests_controller.rb:13:in `new''
vendor/rails/actionpack/lib/action_controller/base.rb:1166:in `send''
vendor/rails/actionpack/lib/action_controller/base.rb:1166:in
`perform_action_without_filters''
vendor/rails/actionpack/lib/action_controller/filters.rb:579:in
`call_filters''
vendor/rails/actionpack/lib/action_controller/filters.rb:572:in
`perform_action_without_benchmark''
vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in
`perform_action_without_rescue''
/usr/lib/ruby/1.8/benchmark.rb:293:in `measure''
vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in
`perform_action_without_rescue''
vendor/rails/actionpack/lib/action_controller/rescue.rb:201:in
`perform_action_without_caching''
vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:
13:in `perform_action''
vendor/rails/activerecord/lib/active_record/connection_adapters/
abstract/query_cache.rb:33:in `cache''
vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in
`cache''
vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:
12:in `perform_action''
vendor/rails/actionpack/lib/action_controller/base.rb:529:in `send''
vendor/rails/actionpack/lib/action_controller/base.rb:529:in
`process_without_filters''
vendor/rails/actionpack/lib/action_controller/filters.rb:568:in
`process_without_session_management_support''
vendor/rails/actionpack/lib/action_controller/session_management.rb:
130:in `process''
vendor/rails/actionpack/lib/action_controller/base.rb:389:in `process''
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:149:in
`handle_request''
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:107:in
`dispatch''
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:104:in
`synchronize''
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:104:in
`dispatch''
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:120:in
`dispatch_cgi''
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:35:in
`dispatch''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel/rails.rb:76:in
`process''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel/rails.rb:74:in
`synchronize''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel/rails.rb:74:in
`process''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:159:in
`process_client''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in
`each''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in
`process_client''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in
`run''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in
`initialize''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in
`new''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in
`run''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in
`initialize''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in
`new''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in
`run''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel/
configurator.rb:282:in `run''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel/
configurator.rb:281:in `each''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel/
configurator.rb:281:in `run''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:128:in
`run''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel/command.rb:
212:in `run''
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281
vendor/rails/activesupport/lib/active_support/dependencies.rb:503:in
`load''
vendor/rails/activesupport/lib/active_support/dependencies.rb:503:in
`load''
vendor/rails/activesupport/lib/active_support/dependencies.rb:355:in
`new_constants_in''
vendor/rails/activesupport/lib/active_support/dependencies.rb:503:in
`load''
vendor/rails/railties/lib/commands/servers/mongrel.rb:64
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require''
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require''
vendor/rails/activesupport/lib/active_support/dependencies.rb:510:in
`require''
vendor/rails/activesupport/lib/active_support/dependencies.rb:355:in
`new_constants_in''
vendor/rails/activesupport/lib/active_support/dependencies.rb:510:in
`require''
vendor/rails/railties/lib/commands/server.rb:39
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require''
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require''
script/server:3

This is my controller:

class AuditTestsController < ApplicationController
  unloadable

  before_filter :find_project

  def index
    @audit_tests = AuditTest.find(:all)
  end

  def new
    @test_statuses = TestStatus.find(:all)
    @audit_test = AuditTest.new
    @audit_test.project = @project         # <------- HERE I got the
error
    render :layout => !request.xhr?
  end

  def create
    if @audit_test.save
        #attach_files(@issue, params[:attachments])
        flash[:notice] = l(:notice_successful_create)
        #Mailer.deliver_issue_add(@issue) if
Setting.notified_events.include?(''issue_added'')
        redirect_to :action => ''index''
        return
    end
  end

  def update
  end

  def destroy
  end

  def show
  end

  private
  def find_project
    @project = Project.find(params[:project_id])
  end
end


And this is the view:

<%=l(:label_audit_test_plural)%>
<% html_title(l(:label_audit_test_plural)) %>
<%= link_to l(:label_audit_test_new), :controller =>
"audit_tests", :action => "new", :project_id =>
@project %>
<% if @audit_tests.empty? %>
<%= l(:label_no_data) %>
<% else %>
<%= render :partial => ''audit_tests/list'', :locals =>
{:audit_tests =>
@audit_tests, :query => @query} %>
<% end %>

Project is something I not manage, is part of the main application, so
I don''t know if it changes at runtime.