Hello list, I''ve had this problem for two days now. Perhaps someone here would care to comment on it. I''d be REALLY appreciative if that''d be the case. Basically, it''s outlined at this paste: http://rafb.net/paste/results/ kXQSHZ83.html But I''ll paste it here, too. The main problem is in the customers/list action. The problem is with this line: @customer_pages, @customers = paginate :customers, {:per_page => 10, :include => ''tags'', :conditions=>''tag_id = 3''} It''s generating the exception below. Any help would be INCREDIBLY appreciated. Please b/cc me in on any replies. Kind Regards, Julian. #The problem is in the customer-list action. #... it yields the error below the source code that follows: # source code follows: class CreateCustomers < ActiveRecord::Migration def self.up create_table :customers do |t| # t.column :name, :string end end def self.down drop_table :customers end end class CreateTags < ActiveRecord::Migration def self.up create_table :tags do |t| # t.column :name, :string end end def self.down drop_table :tags end end class Customer < ActiveRecord::Base has_and_belongs_to_many :tags end class Tag < ActiveRecord::Base has_and_belongs_to_many :customers end class CustomersController < ApplicationController def index list render :action => ''list'' end # GETs should be safe (see http://www.w3.org/2001/tag/doc/ whenToUseGet.html) verify :method => :post, :only => [ :destroy, :create, :update ], :redirect_to => { :action => :list } def list @customer_pages, @customers = paginate :customers, {:per_page => 10, :include => ''tags'', :conditions=>''tag_id = 3''} end def show @customer = Customer.find(params[:id]) end def new @customer = Customer.new end def create @customer = Customer.new(params[:customer]) if @customer.save flash[:notice] = ''Customer was successfully created.'' redirect_to :action => ''list'' else render :action => ''new'' end end def edit @customer = Customer.find(params[:id]) end def update @customer = Customer.find(params[:id]) if @customer.update_attributes(params[:customer]) flash[:notice] = ''Customer was successfully updated.'' redirect_to :action => ''show'', :id => @customer else render :action => ''edit'' end end def destroy Customer.find(params[:id]).destroy redirect_to :action => ''list'' end end # exception that is generated when trying to access list page: Processing CustomersController#list (for 127.0.0.1 at 2006-04-01 00:40:10) [GET] Session ID: ee0f5f8afb0b2740be5f9463b8962e0b Parameters: {"action"=>"list", "controller"=>"customers"} Customer Count (0.000700) SELECT COUNT(DISTINCT customers.id) FROM customers LEFT OUTER JOIN customers_tags ON customers_tags.customer_id = customers.id LEFT OUTER JOIN tags ON tags.id = customers_tags.tag_id WHERE (tag_id = 3) Customer Columns (0.000248) SHOW FIELDS FROM customers Tag Columns (0.000186) SHOW FIELDS FROM tags Customer Load IDs For Limited Eager Loading (0.000000) Mysql::Error: Unknown column ''tag_id'' in ''where clause'': SELECT id FROM customers WHERE (tag_id = 3) LIMIT 0, 10 ActiveRecord::StatementInvalid (Mysql::Error: Unknown column ''tag_id'' in ''where clause'': SELECT id FROM customers WHERE (tag_id = 3) LIMIT 0, 10): /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ active_record/connection_adapters/abstract_adapter.rb:120:in `log'' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ active_record/connection_adapters/mysql_adapter.rb:185:in `execute'' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ active_record/connection_adapters/mysql_adapter.rb:337:in `select'' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ active_record/connection_adapters/mysql_adapter.rb:176:in `select_all'' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ active_record/connection_adapters/abstract/database_statements.rb: 23:in `select_values'' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ active_record/associations.rb:1147:in `select_limited_ids_list'' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ active_record/associations.rb:1141:in `add_limited_ids_condition!'' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ active_record/associations.rb:1131:in `construct_finder_sql_with_included_associations'' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ active_record/associations.rb:1094:in `select_all_rows'' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ active_record/associations.rb:960:in `find_with_associations'' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ active_record/base.rb:923:in `find_every'' /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ active_record/base.rb:381:in `find'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ action_controller/pagination.rb:182:in `find_collection_for_pagination'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ action_controller/pagination.rb:198:in `paginator_and_collection_for'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ action_controller/pagination.rb:129:in `paginate'' /app/controllers/customers_controller.rb:12:in `list'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ action_controller/base.rb:908:in `perform_action_without_filters'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ action_controller/filters.rb:355:in `perform_action_without_benchmark'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ action_controller/benchmarking.rb:69:in `perform_action_without_rescue'' /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ action_controller/benchmarking.rb:69:in `perform_action_without_rescue'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ action_controller/rescue.rb:82:in `perform_action'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ action_controller/base.rb:379:in `process_without_filters'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ action_controller/filters.rb:364:in `process_without_session_management_support'' /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ action_controller/session_management.rb:117:in `process'' /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/dispatcher.rb: 38:in `dispatch'' /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ fcgi_handler.rb:150:in `process_request'' /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ fcgi_handler.rb:54:in `process!'' /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:600:in `each_cgi'' /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:597:in `each_cgi'' /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ fcgi_handler.rb:53:in `process!'' /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ fcgi_handler.rb:23:in `process!'' /Users/julian/rails/test/public/dispatch.fcgi:24 Rendering /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ action_controller/templates/rescues/layout.rhtml (500 Internal Error)
I guess my questoin to you would be is there such a column called ''tag_id'' in you customers table? If not then this is where the issue lies as the mysql errors states that it cannot find the field in when the query is ran. Thanks Jason L. West, Sr. On 3/31/06, Julian Leviston <julian@coretech.net.au> wrote:> > Hello list, > > I''ve had this problem for two days now. Perhaps someone here would > care to comment on it. I''d be REALLY appreciative if that''d be the case. > > Basically, it''s outlined at this paste: http://rafb.net/paste/results/ > kXQSHZ83.html > > But I''ll paste it here, too. > > The main problem is in the customers/list action. The problem is with > this line: > @customer_pages, @customers = paginate :customers, {:per_page => > 10, :include => ''tags'', :conditions=>''tag_id = 3''} > > It''s generating the exception below. Any help would be INCREDIBLY > appreciated. Please b/cc me in on any replies. > > Kind Regards, > Julian. > > > > #The problem is in the customer-list action. > #... it yields the error below the source code that follows: > # source code follows: > > class CreateCustomers < ActiveRecord::Migration > def self.up > create_table :customers do |t| > # t.column :name, :string > end > end > > def self.down > drop_table :customers > end > end > > class CreateTags < ActiveRecord::Migration > def self.up > create_table :tags do |t| > # t.column :name, :string > end > end > > def self.down > drop_table :tags > end > end > > > class Customer < ActiveRecord::Base > has_and_belongs_to_many :tags > end > > class Tag < ActiveRecord::Base > has_and_belongs_to_many :customers > end > > > class CustomersController < ApplicationController > def index > list > render :action => ''list'' > end > > # GETs should be safe (see http://www.w3.org/2001/tag/doc/ > whenToUseGet.html) > verify :method => :post, :only => [ :destroy, :create, :update ], > :redirect_to => { :action => :list } > > def list > @customer_pages, @customers = paginate :customers, {:per_page => > 10, :include => ''tags'', :conditions=>''tag_id = 3''} > end > > def show > @customer = Customer.find(params[:id]) > end > > def new > @customer = Customer.new > end > > def create > @customer = Customer.new(params[:customer]) > if @customer.save > flash[:notice] = ''Customer was successfully created.'' > redirect_to :action => ''list'' > else > render :action => ''new'' > end > end > > def edit > @customer = Customer.find(params[:id]) > end > > def update > @customer = Customer.find(params[:id]) > if @customer.update_attributes(params[:customer]) > flash[:notice] = ''Customer was successfully updated.'' > redirect_to :action => ''show'', :id => @customer > else > render :action => ''edit'' > end > end > > def destroy > Customer.find(params[:id]).destroy > redirect_to :action => ''list'' > end > end > > > # exception that is generated when trying to access list page: > > Processing CustomersController#list (for 127.0.0.1 at 2006-04-01 > 00:40:10) [GET] > Session ID: ee0f5f8afb0b2740be5f9463b8962e0b > Parameters: {"action"=>"list", "controller"=>"customers"} > Customer Count (0.000700) SELECT COUNT(DISTINCT customers.id) > FROM customers LEFT OUTER JOIN customers_tags ON > customers_tags.customer_id = customers.id LEFT OUTER JOIN tags ON > tags.id = customers_tags.tag_id WHERE (tag_id = 3) > Customer Columns (0.000248) SHOW FIELDS FROM customers > Tag Columns (0.000186) SHOW FIELDS FROM tags > Customer Load IDs For Limited Eager Loading (0.000000) > Mysql::Error: Unknown column ''tag_id'' in ''where clause'': SELECT id > FROM customers WHERE (tag_id = 3) LIMIT 0, 10 > > > ActiveRecord::StatementInvalid (Mysql::Error: Unknown column ''tag_id'' > in ''where clause'': SELECT id FROM customers WHERE (tag_id = 3) LIMIT > 0, 10): > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/connection_adapters/abstract_adapter.rb:120:in `log'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/connection_adapters/mysql_adapter.rb:185:in `execute'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/connection_adapters/mysql_adapter.rb:337:in `select'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/connection_adapters/mysql_adapter.rb:176:in `select_all'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/connection_adapters/abstract/database_statements.rb: > 23:in `select_values'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/associations.rb:1147:in `select_limited_ids_list'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/associations.rb:1141:in `add_limited_ids_condition!'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/associations.rb:1131:in > `construct_finder_sql_with_included_associations'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/associations.rb:1094:in `select_all_rows'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/associations.rb:960:in `find_with_associations'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/base.rb:923:in `find_every'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/base.rb:381:in `find'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/pagination.rb:182:in `find_collection_for_pagination'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/pagination.rb:198:in `paginator_and_collection_for'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/pagination.rb:129:in `paginate'' > /app/controllers/customers_controller.rb:12:in `list'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/base.rb:908:in `perform_action_without_filters'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/filters.rb:355:in `perform_action_without_benchmark'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/benchmarking.rb:69:in `perform_action_without_rescue'' > /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/benchmarking.rb:69:in `perform_action_without_rescue'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/rescue.rb:82:in `perform_action'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/base.rb:379:in `process_without_filters'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/filters.rb:364:in > `process_without_session_management_support'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/session_management.rb:117:in `process'' > /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/dispatcher.rb: > 38:in `dispatch'' > /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ > fcgi_handler.rb:150:in `process_request'' > /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ > fcgi_handler.rb:54:in `process!'' > /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:600:in `each_cgi'' > /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:597:in `each_cgi'' > /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ > fcgi_handler.rb:53:in `process!'' > /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ > fcgi_handler.rb:23:in `process!'' > /Users/julian/rails/test/public/dispatch.fcgi:24 > > > Rendering /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/templates/rescues/layout.rhtml (500 Internal Error) > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060331/d876d5ad/attachment.html
Jason, Did you notice that there is an :include => ''tags'' section in the hash as passed in to the pagination request? Oh.. it should be tags.id = 2 , shouldn''t it? ARGH... <grinz> Julian. On 01/04/2006, at 12:58 AM, Jason West wrote:> I guess my questoin to you would be is there such a column called > ''tag_id'' in you customers table? If not then this is where the > issue lies as the mysql errors states that it cannot find the field > in when the query is ran. > > Thanks > > Jason L. West, Sr. > > On 3/31/06, Julian Leviston <julian@coretech.net.au> wrote: Hello > list, > > I''ve had this problem for two days now. Perhaps someone here would > care to comment on it. I''d be REALLY appreciative if that''d be the > case. > > Basically, it''s outlined at this paste: http://rafb.net/paste/results/ > kXQSHZ83.html > > But I''ll paste it here, too. > > The main problem is in the customers/list action. The problem is with > this line: > @customer_pages, @customers = paginate :customers, {:per_page => > 10, :include => ''tags'', :conditions=>''tag_id = 3''} > > It''s generating the exception below. Any help would be INCREDIBLY > appreciated. Please b/cc me in on any replies. > > Kind Regards, > Julian. > > > > #The problem is in the customer-list action. > #... it yields the error below the source code that follows: > # source code follows: > > class CreateCustomers < ActiveRecord::Migration > def self.up > create_table :customers do |t| > # t.column :name, :string > end > end > > def self.down > drop_table :customers > end > end > > class CreateTags < ActiveRecord::Migration > def self.up > create_table :tags do |t| > # t.column :name, :string > end > end > > def self.down > drop_table :tags > end > end > > > class Customer < ActiveRecord::Base > has_and_belongs_to_many :tags > end > > class Tag < ActiveRecord::Base > has_and_belongs_to_many :customers > end > > > class CustomersController < ApplicationController > def index > list > render :action => ''list'' > end > > # GETs should be safe (see http://www.w3.org/2001/tag/doc/ > whenToUseGet.html) > verify :method => :post, :only => [ :destroy, :create, :update ], > :redirect_to => { :action => :list } > > def list > @customer_pages, @customers = paginate :customers, {:per_page => > 10, :include => ''tags'', :conditions=>''tag_id = 3''} > end > > def show > @customer = Customer.find(params[:id]) > end > > def new > @customer = Customer.new > end > > def create > @customer = Customer.new(params[:customer]) > if @ customer.save > flash[:notice] = ''Customer was successfully created.'' > redirect_to :action => ''list'' > else > render :action => ''new'' > end > end > > def edit > @customer = Customer.find(params[:id]) > end > > def update > @customer = Customer.find(params[:id]) > if @customer.update_attributes(params[:customer]) > flash[:notice] = ''Customer was successfully updated.'' > redirect_to :action => ''show'', :id => @customer > else > render :action => ''edit'' > end > end > > def destroy > Customer.find(params[:id]).destroy > redirect_to :action => ''list'' > end > end > > > # exception that is generated when trying to access list page: > > Processing CustomersController#list (for 127.0.0.1 at 2006-04-01 > 00:40:10) [GET] > Session ID: ee0f5f8afb0b2740be5f9463b8962e0b > Parameters: {"action"=>"list", "controller"=>"customers"} > Customer Count (0.000700) SELECT COUNT(DISTINCT customers.id) > FROM customers LEFT OUTER JOIN customers_tags ON > customers_tags.customer_id = customers.id LEFT OUTER JOIN tags ON > tags.id = customers_tags.tag_id WHERE (tag_id = 3) > Customer Columns (0.000248) SHOW FIELDS FROM customers > Tag Columns (0.000186) SHOW FIELDS FROM tags > Customer Load IDs For Limited Eager Loading (0.000000) > Mysql::Error: Unknown column ''tag_id'' in ''where clause'': SELECT id > FROM customers WHERE (tag_id = 3) LIMIT 0, 10 > > > ActiveRecord::StatementInvalid (Mysql::Error: Unknown column ''tag_id'' > in ''where clause'': SELECT id FROM customers WHERE (tag_id = 3) LIMIT > 0, 10): > /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ > active_record/connection_adapters/abstract_adapter.rb:120:in `log'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/connection_adapters/mysql_adapter.rb:185:in `execute'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/connection_adapters/mysql_adapter.rb:337:in `select'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/connection_adapters/mysql_adapter.rb:176:in `select_all'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/connection_adapters/abstract/database_statements.rb: > 23:in `select_values'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0 /lib/ > active_record/associations.rb:1147:in `select_limited_ids_list'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/associations.rb:1141:in `add_limited_ids_condition!'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ > active_record/associations.rb:1131:in > `construct_finder_sql_with_included_associations'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/associations.rb:1094:in `select_all_rows'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/associations.rb:960:in `find_with_associations'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/base.rb:923:in `find_every'' > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > active_record/base.rb:381:in `find'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/pagination.rb:182:in > `find_collection_for_pagination'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/pagination.rb:198:in `paginator_and_collection_for'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/pagination.rb:129:in `paginate'' > /app/controllers/customers_controller.rb:12:in `list'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/base.rb:908:in `perform_action_without_filters'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > action_controller/filters.rb:355:in `perform_action_without_benchmark'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/benchmarking.rb:69:in > `perform_action_without_rescue'' > /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/benchmarking.rb:69:in > `perform_action_without_rescue'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > action_controller/rescue.rb:82:in `perform_action'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/base.rb:379:in `process_without_filters'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > action_controller/filters.rb:364:in > `process_without_session_management_support'' > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > action_controller/session_management.rb:117:in `process'' > /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/dispatcher.rb: > 38:in `dispatch'' > /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ > fcgi_handler.rb:150:in `process_request'' > /usr/local/lib/ruby/gems/1.8/gems/rails- 1.1.0/lib/ > fcgi_handler.rb:54:in `process!'' > /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:600:in `each_cgi'' > /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:597:in `each_cgi'' > /usr/local/lib/ruby/gems/1.8/gems/rails- 1.1.0/lib/ > fcgi_handler.rb:53:in `process!'' > /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ > fcgi_handler.rb:23:in `process!'' > /Users/julian/rails/test/public/dispatch.fcgi:24 > > > Rendering /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > action_controller/templates/rescues/layout.rhtml (500 Internal Error) > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails
Hmmmm My first thought was to look at the SQL statement that is being passed to MySQL and the error returned. ''ActiveRecord::StatementInvalid (Mysql::Error: Unknown column ''tag_id'' in ''where clause'': SELECT id FROM customers WHERE (tag_id = 3) '' This is why I was asking about the column in your customers table. I am fairly new to the RoR architecture and development but I have had many years with MySQL and this seems to be an easy debug if looked into in a simplistic way. In the end this is not working because of a miss reference to a column: def list @customer_pages, @customers = paginate :customers, {:per_page => 10, :include => ''tags'', :conditions=>''tag_id = 3''} end Hope this helps. :-) Jason On 3/31/06, Julian Leviston <julian@coretech.net.au> wrote:> > Jason, > > Did you notice that there is an :include => ''tags'' section in the > hash as passed in to the pagination request? > > Oh.. it should be tags.id = 2 , shouldn''t it? > > ARGH... <grinz> > > Julian. > > On 01/04/2006, at 12:58 AM, Jason West wrote: > > > I guess my questoin to you would be is there such a column called > > ''tag_id'' in you customers table? If not then this is where the > > issue lies as the mysql errors states that it cannot find the field > > in when the query is ran. > > > > Thanks > > > > Jason L. West, Sr. > > > > On 3/31/06, Julian Leviston <julian@coretech.net.au> wrote: Hello > > list, > > > > I''ve had this problem for two days now. Perhaps someone here would > > care to comment on it. I''d be REALLY appreciative if that''d be the > > case. > > > > Basically, it''s outlined at this paste: http://rafb.net/paste/results/ > > kXQSHZ83.html > > > > But I''ll paste it here, too. > > > > The main problem is in the customers/list action. The problem is with > > this line: > > @customer_pages, @customers = paginate :customers, {:per_page => > > 10, :include => ''tags'', :conditions=>''tag_id = 3''} > > > > It''s generating the exception below. Any help would be INCREDIBLY > > appreciated. Please b/cc me in on any replies. > > > > Kind Regards, > > Julian. > > > > > > > > #The problem is in the customer-list action. > > #... it yields the error below the source code that follows: > > # source code follows: > > > > class CreateCustomers < ActiveRecord::Migration > > def self.up > > create_table :customers do |t| > > # t.column :name, :string > > end > > end > > > > def self.down > > drop_table :customers > > end > > end > > > > class CreateTags < ActiveRecord::Migration > > def self.up > > create_table :tags do |t| > > # t.column :name, :string > > end > > end > > > > def self.down > > drop_table :tags > > end > > end > > > > > > class Customer < ActiveRecord::Base > > has_and_belongs_to_many :tags > > end > > > > class Tag < ActiveRecord::Base > > has_and_belongs_to_many :customers > > end > > > > > > class CustomersController < ApplicationController > > def index > > list > > render :action => ''list'' > > end > > > > # GETs should be safe (see http://www.w3.org/2001/tag/doc/ > > whenToUseGet.html) > > verify :method => :post, :only => [ :destroy, :create, :update ], > > :redirect_to => { :action => :list } > > > > def list > > @customer_pages, @customers = paginate :customers, {:per_page => > > 10, :include => ''tags'', :conditions=>''tag_id = 3''} > > end > > > > def show > > @customer = Customer.find(params[:id]) > > end > > > > def new > > @customer = Customer.new > > end > > > > def create > > @customer = Customer.new(params[:customer]) > > if @ customer.save > > flash[:notice] = ''Customer was successfully created.'' > > redirect_to :action => ''list'' > > else > > render :action => ''new'' > > end > > end > > > > def edit > > @customer = Customer.find(params[:id]) > > end > > > > def update > > @customer = Customer.find(params[:id]) > > if @customer.update_attributes(params[:customer]) > > flash[:notice] = ''Customer was successfully updated.'' > > redirect_to :action => ''show'', :id => @customer > > else > > render :action => ''edit'' > > end > > end > > > > def destroy > > Customer.find(params[:id]).destroy > > redirect_to :action => ''list'' > > end > > end > > > > > > # exception that is generated when trying to access list page: > > > > Processing CustomersController#list (for 127.0.0.1 at 2006-04-01 > > 00:40:10) [GET] > > Session ID: ee0f5f8afb0b2740be5f9463b8962e0b > > Parameters: {"action"=>"list", "controller"=>"customers"} > > Customer Count (0.000700) SELECT COUNT(DISTINCT customers.id) > > FROM customers LEFT OUTER JOIN customers_tags ON > > customers_tags.customer_id = customers.id LEFT OUTER JOIN tags ON > > tags.id = customers_tags.tag_id WHERE (tag_id = 3) > > Customer Columns (0.000248) SHOW FIELDS FROM customers > > Tag Columns (0.000186) SHOW FIELDS FROM tags > > Customer Load IDs For Limited Eager Loading (0.000000) > > Mysql::Error: Unknown column ''tag_id'' in ''where clause'': SELECT id > > FROM customers WHERE (tag_id = 3) LIMIT 0, 10 > > > > > > ActiveRecord::StatementInvalid (Mysql::Error: Unknown column ''tag_id'' > > in ''where clause'': SELECT id FROM customers WHERE (tag_id = 3) LIMIT > > 0, 10): > > /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ > > active_record/connection_adapters/abstract_adapter.rb:120:in `log'' > > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > > active_record/connection_adapters/mysql_adapter.rb:185:in `execute'' > > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > > active_record/connection_adapters/mysql_adapter.rb:337:in `select'' > > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > > active_record/connection_adapters/mysql_adapter.rb:176:in `select_all'' > > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > > active_record/connection_adapters/abstract/database_statements.rb: > > 23:in `select_values'' > > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0 /lib/ > > active_record/associations.rb:1147:in `select_limited_ids_list'' > > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > > active_record/associations.rb:1141:in `add_limited_ids_condition!'' > > /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ > > active_record/associations.rb:1131:in > > `construct_finder_sql_with_included_associations'' > > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > > active_record/associations.rb:1094:in `select_all_rows'' > > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > > active_record/associations.rb:960:in `find_with_associations'' > > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > > active_record/base.rb:923:in `find_every'' > > /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > > active_record/base.rb:381:in `find'' > > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > > action_controller/pagination.rb:182:in > > `find_collection_for_pagination'' > > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > > action_controller/pagination.rb:198:in `paginator_and_collection_for'' > > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > > action_controller/pagination.rb:129:in `paginate'' > > /app/controllers/customers_controller.rb:12:in `list'' > > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > > action_controller/base.rb:908:in `perform_action_without_filters'' > > /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > > action_controller/filters.rb:355:in `perform_action_without_benchmark'' > > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > > action_controller/benchmarking.rb:69:in > > `perform_action_without_rescue'' > > /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'' > > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > > action_controller/benchmarking.rb:69:in > > `perform_action_without_rescue'' > > /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > > action_controller/rescue.rb:82:in `perform_action'' > > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > > action_controller/base.rb:379:in `process_without_filters'' > > /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > > action_controller/filters.rb:364:in > > `process_without_session_management_support'' > > /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > > action_controller/session_management.rb:117:in `process'' > > /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/dispatcher.rb: > > 38:in `dispatch'' > > /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ > > fcgi_handler.rb:150:in `process_request'' > > /usr/local/lib/ruby/gems/1.8/gems/rails- 1.1.0/lib/ > > fcgi_handler.rb:54:in `process!'' > > /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:600:in `each_cgi'' > > /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:597:in `each_cgi'' > > /usr/local/lib/ruby/gems/1.8/gems/rails- 1.1.0/lib/ > > fcgi_handler.rb:53:in `process!'' > > /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ > > fcgi_handler.rb:23:in `process!'' > > /Users/julian/rails/test/public/dispatch.fcgi:24 > > > > > > Rendering /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > > action_controller/templates/rescues/layout.rhtml (500 Internal Error) > > _______________________________________________ > > Rails mailing list > > Rails@lists.rubyonrails.org > > http://lists.rubyonrails.org/mailman/listinfo/rails > > _______________________________________________ > > Rails mailing list > > Rails@lists.rubyonrails.org > > http://lists.rubyonrails.org/mailman/listinfo/rails > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060331/afa7aeb7/attachment-0001.html
Hmmm it seems incredibly slow tho... :( On 01/04/2006, at 1:41 AM, Julian Leviston wrote:> Jason, > > Did you notice that there is an :include => ''tags'' section in the > hash as passed in to the pagination request? > > Oh.. it should be tags.id = 2 , shouldn''t it? > > ARGH... <grinz> > > Julian. > > On 01/04/2006, at 12:58 AM, Jason West wrote: > >> I guess my questoin to you would be is there such a column called >> ''tag_id'' in you customers table? If not then this is where the >> issue lies as the mysql errors states that it cannot find the >> field in when the query is ran. >> >> Thanks >> >> Jason L. West, Sr. >> >> On 3/31/06, Julian Leviston <julian@coretech.net.au> wrote: Hello >> list, >> >> I''ve had this problem for two days now. Perhaps someone here would >> care to comment on it. I''d be REALLY appreciative if that''d be the >> case. >> >> Basically, it''s outlined at this paste: http://rafb.net/paste/ >> results/ >> kXQSHZ83.html >> >> But I''ll paste it here, too. >> >> The main problem is in the customers/list action. The problem is with >> this line: >> @customer_pages, @customers = paginate :customers, {:per_page => >> 10, :include => ''tags'', :conditions=>''tag_id = 3''} >> >> It''s generating the exception below. Any help would be INCREDIBLY >> appreciated. Please b/cc me in on any replies. >> >> Kind Regards, >> Julian. >> >> >> >> #The problem is in the customer-list action. >> #... it yields the error below the source code that follows: >> # source code follows: >> >> class CreateCustomers < ActiveRecord::Migration >> def self.up >> create_table :customers do |t| >> # t.column :name, :string >> end >> end >> >> def self.down >> drop_table :customers >> end >> end >> >> class CreateTags < ActiveRecord::Migration >> def self.up >> create_table :tags do |t| >> # t.column :name, :string >> end >> end >> >> def self.down >> drop_table :tags >> end >> end >> >> >> class Customer < ActiveRecord::Base >> has_and_belongs_to_many :tags >> end >> >> class Tag < ActiveRecord::Base >> has_and_belongs_to_many :customers >> end >> >> >> class CustomersController < ApplicationController >> def index >> list >> render :action => ''list'' >> end >> >> # GETs should be safe (see http://www.w3.org/2001/tag/doc/ >> whenToUseGet.html) >> verify :method => :post, :only => [ :destroy, :create, :update ], >> :redirect_to => { :action => :list } >> >> def list >> @customer_pages, @customers = paginate :customers, {:per_page => >> 10, :include => ''tags'', :conditions=>''tag_id = 3''} >> end >> >> def show >> @customer = Customer.find(params[:id]) >> end >> >> def new >> @customer = Customer.new >> end >> >> def create >> @customer = Customer.new(params[:customer]) >> if @ customer.save >> flash[:notice] = ''Customer was successfully created.'' >> redirect_to :action => ''list'' >> else >> render :action => ''new'' >> end >> end >> >> def edit >> @customer = Customer.find(params[:id]) >> end >> >> def update >> @customer = Customer.find(params[:id]) >> if @customer.update_attributes(params[:customer]) >> flash[:notice] = ''Customer was successfully updated.'' >> redirect_to :action => ''show'', :id => @customer >> else >> render :action => ''edit'' >> end >> end >> >> def destroy >> Customer.find(params[:id]).destroy >> redirect_to :action => ''list'' >> end >> end >> >> >> # exception that is generated when trying to access list page: >> >> Processing CustomersController#list (for 127.0.0.1 at 2006-04-01 >> 00:40:10) [GET] >> Session ID: ee0f5f8afb0b2740be5f9463b8962e0b >> Parameters: {"action"=>"list", "controller"=>"customers"} >> Customer Count (0.000700) SELECT COUNT(DISTINCT customers.id) >> FROM customers LEFT OUTER JOIN customers_tags ON >> customers_tags.customer_id = customers.id LEFT OUTER JOIN tags ON >> tags.id = customers_tags.tag_id WHERE (tag_id = 3) >> Customer Columns (0.000248) SHOW FIELDS FROM customers >> Tag Columns (0.000186) SHOW FIELDS FROM tags >> Customer Load IDs For Limited Eager Loading (0.000000) >> Mysql::Error: Unknown column ''tag_id'' in ''where clause'': SELECT id >> FROM customers WHERE (tag_id = 3) LIMIT 0, 10 >> >> >> ActiveRecord::StatementInvalid (Mysql::Error: Unknown column ''tag_id'' >> in ''where clause'': SELECT id FROM customers WHERE (tag_id = 3) LIMIT >> 0, 10): >> /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ >> active_record/connection_adapters/abstract_adapter.rb:120:in `log'' >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ >> active_record/connection_adapters/mysql_adapter.rb:185:in `execute'' >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ >> active_record/connection_adapters/mysql_adapter.rb:337:in `select'' >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ >> active_record/connection_adapters/mysql_adapter.rb:176:in >> `select_all'' >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ >> active_record/connection_adapters/abstract/database_statements.rb: >> 23:in `select_values'' >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0 /lib/ >> active_record/associations.rb:1147:in `select_limited_ids_list'' >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ >> active_record/associations.rb:1141:in `add_limited_ids_condition!'' >> /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ >> active_record/associations.rb:1131:in >> `construct_finder_sql_with_included_associations'' >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ >> active_record/associations.rb:1094:in `select_all_rows'' >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ >> active_record/associations.rb:960:in `find_with_associations'' >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ >> active_record/base.rb:923:in `find_every'' >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ >> active_record/base.rb:381:in `find'' >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ >> action_controller/pagination.rb:182:in >> `find_collection_for_pagination'' >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ >> action_controller/pagination.rb:198:in `paginator_and_collection_for'' >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ >> action_controller/pagination.rb:129:in `paginate'' >> /app/controllers/customers_controller.rb:12:in `list'' >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ >> action_controller/base.rb:908:in `perform_action_without_filters'' >> /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ >> action_controller/filters.rb:355:in >> `perform_action_without_benchmark'' >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ >> action_controller/benchmarking.rb:69:in >> `perform_action_without_rescue'' >> /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'' >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ >> action_controller/benchmarking.rb:69:in >> `perform_action_without_rescue'' >> /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ >> action_controller/rescue.rb:82:in `perform_action'' >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ >> action_controller/base.rb:379:in `process_without_filters'' >> /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ >> action_controller/filters.rb:364:in >> `process_without_session_management_support'' >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ >> action_controller/session_management.rb:117:in `process'' >> /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/dispatcher.rb: >> 38:in `dispatch'' >> /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ >> fcgi_handler.rb:150:in `process_request'' >> /usr/local/lib/ruby/gems/1.8/gems/rails- 1.1.0/lib/ >> fcgi_handler.rb:54:in `process!'' >> /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:600:in `each_cgi'' >> /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:597:in `each_cgi'' >> /usr/local/lib/ruby/gems/1.8/gems/rails- 1.1.0/lib/ >> fcgi_handler.rb:53:in `process!'' >> /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ >> fcgi_handler.rb:23:in `process!'' >> /Users/julian/rails/test/public/dispatch.fcgi:24 >> >> >> Rendering /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ >> action_controller/templates/rescues/layout.rhtml (500 Internal Error) >> _______________________________________________ >> Rails mailing list >> Rails@lists.rubyonrails.org >> http://lists.rubyonrails.org/mailman/listinfo/rails >> _______________________________________________ >> Rails mailing list >> Rails@lists.rubyonrails.org >> http://lists.rubyonrails.org/mailman/listinfo/rails > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails
LOL! On 3/31/06, Julian Leviston <julian@coretech.net.au> wrote:> > Hmmm it seems incredibly slow tho... :( > > > On 01/04/2006, at 1:41 AM, Julian Leviston wrote: > > > Jason, > > > > Did you notice that there is an :include => ''tags'' section in the > > hash as passed in to the pagination request? > > > > Oh.. it should be tags.id = 2 , shouldn''t it? > > > > ARGH... <grinz> > > > > Julian. > > > > On 01/04/2006, at 12:58 AM, Jason West wrote: > > > >> I guess my questoin to you would be is there such a column called > >> ''tag_id'' in you customers table? If not then this is where the > >> issue lies as the mysql errors states that it cannot find the > >> field in when the query is ran. > >> > >> Thanks > >> > >> Jason L. West, Sr. > >> > >> On 3/31/06, Julian Leviston <julian@coretech.net.au> wrote: Hello > >> list, > >> > >> I''ve had this problem for two days now. Perhaps someone here would > >> care to comment on it. I''d be REALLY appreciative if that''d be the > >> case. > >> > >> Basically, it''s outlined at this paste: http://rafb.net/paste/ > >> results/ > >> kXQSHZ83.html > >> > >> But I''ll paste it here, too. > >> > >> The main problem is in the customers/list action. The problem is with > >> this line: > >> @customer_pages, @customers = paginate :customers, {:per_page => > >> 10, :include => ''tags'', :conditions=>''tag_id = 3''} > >> > >> It''s generating the exception below. Any help would be INCREDIBLY > >> appreciated. Please b/cc me in on any replies. > >> > >> Kind Regards, > >> Julian. > >> > >> > >> > >> #The problem is in the customer-list action. > >> #... it yields the error below the source code that follows: > >> # source code follows: > >> > >> class CreateCustomers < ActiveRecord::Migration > >> def self.up > >> create_table :customers do |t| > >> # t.column :name, :string > >> end > >> end > >> > >> def self.down > >> drop_table :customers > >> end > >> end > >> > >> class CreateTags < ActiveRecord::Migration > >> def self.up > >> create_table :tags do |t| > >> # t.column :name, :string > >> end > >> end > >> > >> def self.down > >> drop_table :tags > >> end > >> end > >> > >> > >> class Customer < ActiveRecord::Base > >> has_and_belongs_to_many :tags > >> end > >> > >> class Tag < ActiveRecord::Base > >> has_and_belongs_to_many :customers > >> end > >> > >> > >> class CustomersController < ApplicationController > >> def index > >> list > >> render :action => ''list'' > >> end > >> > >> # GETs should be safe (see http://www.w3.org/2001/tag/doc/ > >> whenToUseGet.html) > >> verify :method => :post, :only => [ :destroy, :create, :update ], > >> :redirect_to => { :action => :list } > >> > >> def list > >> @customer_pages, @customers = paginate :customers, {:per_page => > >> 10, :include => ''tags'', :conditions=>''tag_id = 3''} > >> end > >> > >> def show > >> @customer = Customer.find(params[:id]) > >> end > >> > >> def new > >> @customer = Customer.new > >> end > >> > >> def create > >> @customer = Customer.new(params[:customer]) > >> if @ customer.save > >> flash[:notice] = ''Customer was successfully created.'' > >> redirect_to :action => ''list'' > >> else > >> render :action => ''new'' > >> end > >> end > >> > >> def edit > >> @customer = Customer.find(params[:id]) > >> end > >> > >> def update > >> @customer = Customer.find(params[:id]) > >> if @customer.update_attributes(params[:customer]) > >> flash[:notice] = ''Customer was successfully updated.'' > >> redirect_to :action => ''show'', :id => @customer > >> else > >> render :action => ''edit'' > >> end > >> end > >> > >> def destroy > >> Customer.find(params[:id]).destroy > >> redirect_to :action => ''list'' > >> end > >> end > >> > >> > >> # exception that is generated when trying to access list page: > >> > >> Processing CustomersController#list (for 127.0.0.1 at 2006-04-01 > >> 00:40:10) [GET] > >> Session ID: ee0f5f8afb0b2740be5f9463b8962e0b > >> Parameters: {"action"=>"list", "controller"=>"customers"} > >> Customer Count (0.000700) SELECT COUNT(DISTINCT customers.id) > >> FROM customers LEFT OUTER JOIN customers_tags ON > >> customers_tags.customer_id = customers.id LEFT OUTER JOIN tags ON > >> tags.id = customers_tags.tag_id WHERE (tag_id = 3) > >> Customer Columns (0.000248) SHOW FIELDS FROM customers > >> Tag Columns (0.000186) SHOW FIELDS FROM tags > >> Customer Load IDs For Limited Eager Loading (0.000000) > >> Mysql::Error: Unknown column ''tag_id'' in ''where clause'': SELECT id > >> FROM customers WHERE (tag_id = 3) LIMIT 0, 10 > >> > >> > >> ActiveRecord::StatementInvalid (Mysql::Error: Unknown column ''tag_id'' > >> in ''where clause'': SELECT id FROM customers WHERE (tag_id = 3) LIMIT > >> 0, 10): > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ > >> active_record/connection_adapters/abstract_adapter.rb:120:in `log'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > >> active_record/connection_adapters/mysql_adapter.rb:185:in `execute'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > >> active_record/connection_adapters/mysql_adapter.rb:337:in `select'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > >> active_record/connection_adapters/mysql_adapter.rb:176:in > >> `select_all'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > >> active_record/connection_adapters/abstract/database_statements.rb: > >> 23:in `select_values'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0 /lib/ > >> active_record/associations.rb:1147:in `select_limited_ids_list'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > >> active_record/associations.rb:1141:in `add_limited_ids_condition!'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ > >> active_record/associations.rb:1131:in > >> `construct_finder_sql_with_included_associations'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > >> active_record/associations.rb:1094:in `select_all_rows'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > >> active_record/associations.rb:960:in `find_with_associations'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > >> active_record/base.rb:923:in `find_every'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > >> active_record/base.rb:381:in `find'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > >> action_controller/pagination.rb:182:in > >> `find_collection_for_pagination'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > >> action_controller/pagination.rb:198:in `paginator_and_collection_for'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > >> action_controller/pagination.rb:129:in `paginate'' > >> /app/controllers/customers_controller.rb:12:in `list'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > >> action_controller/base.rb:908:in `perform_action_without_filters'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > >> action_controller/filters.rb:355:in > >> `perform_action_without_benchmark'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > >> action_controller/benchmarking.rb:69:in > >> `perform_action_without_rescue'' > >> /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > >> action_controller/benchmarking.rb:69:in > >> `perform_action_without_rescue'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > >> action_controller/rescue.rb:82:in `perform_action'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > >> action_controller/base.rb:379:in `process_without_filters'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > >> action_controller/filters.rb:364:in > >> `process_without_session_management_support'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > >> action_controller/session_management.rb:117:in `process'' > >> /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/dispatcher.rb: > >> 38:in `dispatch'' > >> /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ > >> fcgi_handler.rb:150:in `process_request'' > >> /usr/local/lib/ruby/gems/1.8/gems/rails- 1.1.0/lib/ > >> fcgi_handler.rb:54:in `process!'' > >> /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:600:in `each_cgi'' > >> /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:597:in `each_cgi'' > >> /usr/local/lib/ruby/gems/1.8/gems/rails- 1.1.0/lib/ > >> fcgi_handler.rb:53:in `process!'' > >> /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ > >> fcgi_handler.rb:23:in `process!'' > >> /Users/julian/rails/test/public/dispatch.fcgi:24 > >> > >> > >> Rendering /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > >> action_controller/templates/rescues/layout.rhtml (500 Internal Error) > >> _______________________________________________ > >> Rails mailing list > >> Rails@lists.rubyonrails.org > >> http://lists.rubyonrails.org/mailman/listinfo/rails > >> _______________________________________________ > >> Rails mailing list > >> Rails@lists.rubyonrails.org > >> http://lists.rubyonrails.org/mailman/listinfo/rails > > > > _______________________________________________ > > Rails mailing list > > Rails@lists.rubyonrails.org > > http://lists.rubyonrails.org/mailman/listinfo/rails > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060331/7844d20f/attachment-0001.html
Okay, further down the tree of this, I got around the speed issue by changing this: options_hash[:conditions] = "tags.id = " + @params[''tag_limit''] into this: options_hash[:conditions] = "customers_tags.tag_id = " + @params[''tag_limit''] Now it''s DAMN fast. But before it just wasn''t finishing. (scratching head). Julian. On 01/04/2006, at 2:45 AM, Jason West wrote:> LOL! > > On 3/31/06, Julian Leviston <julian@coretech.net.au> wrote: Hmmm it > seems incredibly slow tho... :( > > > On 01/04/2006, at 1:41 AM, Julian Leviston wrote: > > > Jason, > > > > Did you notice that there is an :include => ''tags'' section in the > > hash as passed in to the pagination request? > > > > Oh.. it should be tags.id = 2 , shouldn''t it? > > > > ARGH... <grinz> > > > > Julian. > > > > On 01/04/2006, at 12:58 AM, Jason West wrote: > > > >> I guess my questoin to you would be is there such a column called > >> ''tag_id'' in you customers table? If not then this is where the > >> issue lies as the mysql errors states that it cannot find the > >> field in when the query is ran. > >> > >> Thanks > >> > >> Jason L. West, Sr. > >> > >> On 3/31/06, Julian Leviston <julian@coretech.net.au > wrote: Hello > >> list, > >> > >> I''ve had this problem for two days now. Perhaps someone here would > >> care to comment on it. I''d be REALLY appreciative if that''d be the > >> case. > >> > >> Basically, it''s outlined at this paste: http://rafb.net/paste/ > >> results/ > >> kXQSHZ83.html > >> > >> But I''ll paste it here, too. > >> > >> The main problem is in the customers/list action. The problem is > with > >> this line: > >> @customer_pages, @customers = paginate :customers, {:per_page => > >> 10, :include => ''tags'', :conditions=>''tag_id = 3''} > >> > >> It''s generating the exception below. Any help would be INCREDIBLY > >> appreciated. Please b/cc me in on any replies. > >> > >> Kind Regards, > >> Julian. > >> > >> > >> > >> #The problem is in the customer-list action. > >> #... it yields the error below the source code that follows: > >> # source code follows: > >> > >> class CreateCustomers < ActiveRecord::Migration > >> def self.up > >> create_table :customers do |t| > >> # t.column :name, :string > >> end > >> end > >> > >> def self.down > >> drop_table :customers > >> end > >> end > >> > >> class CreateTags < ActiveRecord::Migration > >> def self.up > >> create_table :tags do |t| > >> # t.column :name, :string > >> end > >> end > >> > >> def self.down > >> drop_table :tags > >> end > >> end > >> > >> > >> class Customer < ActiveRecord::Base > >> has_and_belongs_to_many :tags > >> end > >> > >> class Tag < ActiveRecord::Base > >> has_and_belongs_to_many :customers > >> end > >> > >> > >> class CustomersController < ApplicationController > >> def index > >> list > >> render :action => ''list'' > >> end > >> > >> # GETs should be safe (see http://www.w3.org/2001/tag/doc/ > >> whenToUseGet.html) > >> verify :method => :post, :only => > [ :destroy, :create, :update ], > >> :redirect_to => { :action => :list } > >> > >> def list > >> @customer_pages, @customers = paginate :customers, > {:per_page => > >> 10, :include => ''tags'', :conditions=>''tag_id = 3''} > >> end > >> > >> def show > >> @customer = Customer.find(params[:id]) > >> end > >> > >> def new > >> @customer = Customer.new > >> end > >> > >> def create > >> @customer = Customer.new (params[:customer]) > >> if @ customer.save > >> flash[:notice] = ''Customer was successfully created.'' > >> redirect_to :action => ''list'' > >> else > >> render :action => ''new'' > >> end > >> end > >> > >> def edit > >> @customer = Customer.find(params[:id]) > >> end > >> > >> def update > >> @customer = Customer.find (params[:id]) > >> if @customer.update_attributes(params[:customer]) > >> flash[:notice] = ''Customer was successfully updated.'' > >> redirect_to :action => ''show'', :id => @customer > >> else > >> render :action => ''edit'' > >> end > >> end > >> > >> def destroy > >> Customer.find(params[:id]).destroy > >> redirect_to :action => ''list'' > >> end > >> end > >> > >> > >> # exception that is generated when trying to access list page: > >> > >> Processing CustomersController#list (for 127.0.0.1 at 2006-04-01 > >> 00:40:10) [GET] > >> Session ID: ee0f5f8afb0b2740be5f9463b8962e0b > >> Parameters: {"action"=>"list", "controller"=>"customers"} > >> Customer Count (0.000700) SELECT COUNT(DISTINCT customers.id) > >> FROM customers LEFT OUTER JOIN customers_tags ON > >> customers_tags.customer_id = customers.id LEFT OUTER JOIN tags ON > >> tags.id = customers_tags.tag_id WHERE (tag_id = 3) > >> Customer Columns (0.000248) SHOW FIELDS FROM customers > >> Tag Columns ( 0.000186) SHOW FIELDS FROM tags > >> Customer Load IDs For Limited Eager Loading (0.000000) > >> Mysql::Error: Unknown column ''tag_id'' in ''where clause'': SELECT id > >> FROM customers WHERE (tag_id = 3) LIMIT 0, 10 > >> > >> > >> ActiveRecord::StatementInvalid (Mysql::Error: Unknown column > ''tag_id'' > >> in ''where clause'': SELECT id FROM customers WHERE (tag_id = 3) > LIMIT > >> 0, 10): > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ > >> active_record/connection_adapters/abstract_adapter.rb:120:in `log'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > >> active_record/connection_adapters/mysql_adapter.rb:185:in `execute'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > >> active_record/connection_adapters/mysql_adapter.rb:337:in `select'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0 /lib/ > >> active_record/connection_adapters/mysql_adapter.rb:176:in > >> `select_all'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > >> active_record/connection_adapters/abstract/database_statements.rb: > >> 23:in `select_values'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0 /lib/ > >> active_record/associations.rb:1147:in `select_limited_ids_list'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ > >> active_record/associations.rb:1141:in `add_limited_ids_condition!'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ > >> active_record/associations.rb:1131:in > >> `construct_finder_sql_with_included_associations'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > >> active_record/associations.rb:1094:in `select_all_rows'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ > >> active_record/associations.rb:960:in `find_with_associations'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ > >> active_record/base.rb:923:in `find_every'' > >> /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ > >> active_record/base.rb:381:in `find'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > >> action_controller/pagination.rb:182:in > >> `find_collection_for_pagination'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > >> action_controller/pagination.rb:198:in > `paginator_and_collection_for'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0 /lib/ > >> action_controller/pagination.rb:129:in `paginate'' > >> /app/controllers/customers_controller.rb:12:in `list'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > >> action_controller/base.rb:908:in `perform_action_without_filters'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > >> action_controller/filters.rb:355:in > >> `perform_action_without_benchmark'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > >> action_controller/benchmarking.rb:69:in > >> `perform_action_without_rescue'' > >> /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > >> action_controller/benchmarking.rb:69:in > >> `perform_action_without_rescue'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > >> action_controller/rescue.rb:82:in `perform_action'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > >> action_controller/base.rb:379:in `process_without_filters'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > >> action_controller/filters.rb:364:in > >> `process_without_session_management_support'' > >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ > >> action_controller/session_management.rb:117:in `process'' > >> /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ > dispatcher.rb: > >> 38:in `dispatch'' > >> /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ > >> fcgi_handler.rb:150:in `process_request'' > >> /usr/local/lib/ruby/gems/1.8/gems/rails- 1.1.0/lib/ > >> fcgi_handler.rb:54:in `process!'' > >> /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:600:in `each_cgi'' > >> /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:597:in `each_cgi'' > >> /usr/local/lib/ruby/gems/1.8/gems/rails- 1.1.0/lib/ > >> fcgi_handler.rb:53:in `process!'' > >> /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ > >> fcgi_handler.rb:23:in `process!'' > >> /Users/julian/rails/test/public/dispatch.fcgi:24 > >> > >> > >> Rendering /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ > >> action_controller/templates/rescues/layout.rhtml (500 Internal > Error) > >> _______________________________________________ > >> Rails mailing list > >> Rails@lists.rubyonrails.org > >> http://lists.rubyonrails.org/mailman/listinfo/rails > >> _______________________________________________ > >> Rails mailing list > >> Rails@lists.rubyonrails.org > >> http://lists.rubyonrails.org/mailman/listinfo/rails > > > > _______________________________________________ > > Rails mailing list > > Rails@lists.rubyonrails.org > > http://lists.rubyonrails.org/mailman/listinfo/rails > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails
It would be really nice if named associations automatically did this... so I could do tags.id = rather than customers_tags.tag_id... which brings me to my next (1.1) eager-loading question... Is it possible to filter on 1+th-level associations? In other words... (as an example)... I have: customer belongs_to :owner, owner :has_many :supervisors, supervisor :has_many addresses. I want to find all customers whose owners'' supervisors have addresses in the state of california... Could I even do this? Or would I have to grab what I could using an eager find, and then filter it post-sql? I''m guessing that''d probably be the fastest and best way to do it anyway. Ah, bring on the object-databases such as Gemstone Smalltalk! :-) Julian. On 01/04/2006, at 3:01 AM, Julian Leviston wrote:> Okay, further down the tree of this, I got around the speed issue > by changing this: > > options_hash[:conditions] = "tags.id = " + @params > [''tag_limit''] > > into this: > > options_hash[:conditions] = "customers_tags.tag_id = " + > @params[''tag_limit''] > > Now it''s DAMN fast. But before it just wasn''t finishing. > (scratching head). > > Julian. > > On 01/04/2006, at 2:45 AM, Jason West wrote: > >> LOL! >> >> On 3/31/06, Julian Leviston <julian@coretech.net.au> wrote: Hmmm >> it seems incredibly slow tho... :( >> >> >> On 01/04/2006, at 1:41 AM, Julian Leviston wrote: >> >> > Jason, >> > >> > Did you notice that there is an :include => ''tags'' section in the >> > hash as passed in to the pagination request? >> > >> > Oh.. it should be tags.id = 2 , shouldn''t it? >> > >> > ARGH... <grinz> >> > >> > Julian. >> > >> > On 01/04/2006, at 12:58 AM, Jason West wrote: >> > >> >> I guess my questoin to you would be is there such a column called >> >> ''tag_id'' in you customers table? If not then this is where the >> >> issue lies as the mysql errors states that it cannot find the >> >> field in when the query is ran. >> >> >> >> Thanks >> >> >> >> Jason L. West, Sr. >> >> >> >> On 3/31/06, Julian Leviston <julian@coretech.net.au > wrote: Hello >> >> list, >> >> >> >> I''ve had this problem for two days now. Perhaps someone here would >> >> care to comment on it. I''d be REALLY appreciative if that''d be the >> >> case. >> >> >> >> Basically, it''s outlined at this paste: http://rafb.net/paste/ >> >> results/ >> >> kXQSHZ83.html >> >> >> >> But I''ll paste it here, too. >> >> >> >> The main problem is in the customers/list action. The problem >> is with >> >> this line: >> >> @customer_pages, @customers = paginate :customers, {:per_page => >> >> 10, :include => ''tags'', :conditions=>''tag_id = 3''} >> >> >> >> It''s generating the exception below. Any help would be INCREDIBLY >> >> appreciated. Please b/cc me in on any replies. >> >> >> >> Kind Regards, >> >> Julian. >> >> >> >> >> >> >> >> #The problem is in the customer-list action. >> >> #... it yields the error below the source code that follows: >> >> # source code follows: >> >> >> >> class CreateCustomers < ActiveRecord::Migration >> >> def self.up >> >> create_table :customers do |t| >> >> # t.column :name, :string >> >> end >> >> end >> >> >> >> def self.down >> >> drop_table :customers >> >> end >> >> end >> >> >> >> class CreateTags < ActiveRecord::Migration >> >> def self.up >> >> create_table :tags do |t| >> >> # t.column :name, :string >> >> end >> >> end >> >> >> >> def self.down >> >> drop_table :tags >> >> end >> >> end >> >> >> >> >> >> class Customer < ActiveRecord::Base >> >> has_and_belongs_to_many :tags >> >> end >> >> >> >> class Tag < ActiveRecord::Base >> >> has_and_belongs_to_many :customers >> >> end >> >> >> >> >> >> class CustomersController < ApplicationController >> >> def index >> >> list >> >> render :action => ''list'' >> >> end >> >> >> >> # GETs should be safe (see http://www.w3.org/2001/tag/doc/ >> >> whenToUseGet.html) >> >> verify :method => :post, :only => >> [ :destroy, :create, :update ], >> >> :redirect_to => { :action => :list } >> >> >> >> def list >> >> @customer_pages, @customers = paginate :customers, >> {:per_page => >> >> 10, :include => ''tags'', :conditions=>''tag_id = 3''} >> >> end >> >> >> >> def show >> >> @customer = Customer.find(params[:id]) >> >> end >> >> >> >> def new >> >> @customer = Customer.new >> >> end >> >> >> >> def create >> >> @customer = Customer.new (params[:customer]) >> >> if @ customer.save >> >> flash[:notice] = ''Customer was successfully created.'' >> >> redirect_to :action => ''list'' >> >> else >> >> render :action => ''new'' >> >> end >> >> end >> >> >> >> def edit >> >> @customer = Customer.find(params[:id]) >> >> end >> >> >> >> def update >> >> @customer = Customer.find (params[:id]) >> >> if @customer.update_attributes(params[:customer]) >> >> flash[:notice] = ''Customer was successfully updated.'' >> >> redirect_to :action => ''show'', :id => @customer >> >> else >> >> render :action => ''edit'' >> >> end >> >> end >> >> >> >> def destroy >> >> Customer.find(params[:id]).destroy >> >> redirect_to :action => ''list'' >> >> end >> >> end >> >> >> >> >> >> # exception that is generated when trying to access list page: >> >> >> >> Processing CustomersController#list (for 127.0.0.1 at 2006-04-01 >> >> 00:40:10) [GET] >> >> Session ID: ee0f5f8afb0b2740be5f9463b8962e0b >> >> Parameters: {"action"=>"list", "controller"=>"customers"} >> >> Customer Count (0.000700) SELECT COUNT(DISTINCT customers.id) >> >> FROM customers LEFT OUTER JOIN customers_tags ON >> >> customers_tags.customer_id = customers.id LEFT OUTER JOIN tags ON >> >> tags.id = customers_tags.tag_id WHERE (tag_id = 3) >> >> Customer Columns (0.000248) SHOW FIELDS FROM customers >> >> Tag Columns ( 0.000186) SHOW FIELDS FROM tags >> >> Customer Load IDs For Limited Eager Loading (0.000000) >> >> Mysql::Error: Unknown column ''tag_id'' in ''where clause'': SELECT id >> >> FROM customers WHERE (tag_id = 3) LIMIT 0, 10 >> >> >> >> >> >> ActiveRecord::StatementInvalid (Mysql::Error: Unknown column >> ''tag_id'' >> >> in ''where clause'': SELECT id FROM customers WHERE (tag_id = 3) >> LIMIT >> >> 0, 10): >> >> /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ >> >> active_record/connection_adapters/abstract_adapter.rb:120:in `log'' >> >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ >> >> active_record/connection_adapters/mysql_adapter.rb:185:in >> `execute'' >> >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ >> >> active_record/connection_adapters/mysql_adapter.rb:337:in `select'' >> >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0 /lib/ >> >> active_record/connection_adapters/mysql_adapter.rb:176:in >> >> `select_all'' >> >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ >> >> active_record/connection_adapters/abstract/database_statements.rb: >> >> 23:in `select_values'' >> >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0 /lib/ >> >> active_record/associations.rb:1147:in `select_limited_ids_list'' >> >> /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ >> >> active_record/associations.rb:1141:in `add_limited_ids_condition!'' >> >> /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ >> >> active_record/associations.rb:1131:in >> >> `construct_finder_sql_with_included_associations'' >> >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ >> >> active_record/associations.rb:1094:in `select_all_rows'' >> >> /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ >> >> active_record/associations.rb:960:in `find_with_associations'' >> >> /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.14.0/lib/ >> >> active_record/base.rb:923:in `find_every'' >> >> /usr/local/lib/ruby/gems/1.8/gems/activerecord- 1.14.0/lib/ >> >> active_record/base.rb:381:in `find'' >> >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ >> >> action_controller/pagination.rb:182:in >> >> `find_collection_for_pagination'' >> >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ >> >> action_controller/pagination.rb:198:in >> `paginator_and_collection_for'' >> >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0 /lib/ >> >> action_controller/pagination.rb:129:in `paginate'' >> >> /app/controllers/customers_controller.rb:12:in `list'' >> >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ >> >> action_controller/base.rb:908:in `perform_action_without_filters'' >> >> /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ >> >> action_controller/filters.rb:355:in >> >> `perform_action_without_benchmark'' >> >> /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ >> >> action_controller/benchmarking.rb:69:in >> >> `perform_action_without_rescue'' >> >> /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure'' >> >> /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ >> >> action_controller/benchmarking.rb:69:in >> >> `perform_action_without_rescue'' >> >> /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ >> >> action_controller/rescue.rb:82:in `perform_action'' >> >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ >> >> action_controller/base.rb:379:in `process_without_filters'' >> >> /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/lib/ >> >> action_controller/filters.rb:364:in >> >> `process_without_session_management_support'' >> >> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.0/lib/ >> >> action_controller/session_management.rb:117:in `process'' >> >> /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ >> dispatcher.rb: >> >> 38:in `dispatch'' >> >> /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ >> >> fcgi_handler.rb:150:in `process_request'' >> >> /usr/local/lib/ruby/gems/1.8/gems/rails- 1.1.0/lib/ >> >> fcgi_handler.rb:54:in `process!'' >> >> /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:600:in `each_cgi'' >> >> /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:597:in `each_cgi'' >> >> /usr/local/lib/ruby/gems/1.8/gems/rails- 1.1.0/lib/ >> >> fcgi_handler.rb:53:in `process!'' >> >> /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.0/lib/ >> >> fcgi_handler.rb:23:in `process!'' >> >> /Users/julian/rails/test/public/dispatch.fcgi:24 >> >> >> >> >> >> Rendering /usr/local/lib/ruby/gems/1.8/gems/actionpack- 1.12.0/ >> lib/ >> >> action_controller/templates/rescues/layout.rhtml (500 Internal >> Error) >> >> _______________________________________________ >> >> Rails mailing list >> >> Rails@lists.rubyonrails.org >> >> http://lists.rubyonrails.org/mailman/listinfo/rails >> >> _______________________________________________ >> >> Rails mailing list >> >> Rails@lists.rubyonrails.org >> >> http://lists.rubyonrails.org/mailman/listinfo/rails >> > >> > _______________________________________________ >> > Rails mailing list >> > Rails@lists.rubyonrails.org >> > http://lists.rubyonrails.org/mailman/listinfo/rails >> >> _______________________________________________ >> Rails mailing list >> Rails@lists.rubyonrails.org >> http://lists.rubyonrails.org/mailman/listinfo/rails >> _______________________________________________ >> Rails mailing list >> Rails@lists.rubyonrails.org >> http://lists.rubyonrails.org/mailman/listinfo/rails > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails