New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
generate_token calls find_first which require order param #2487
Comments
Thanks @smusiol but I could not reproduce your failure. Do you have a simple way to reproduce it? I checked that the |
I'm getting this in development too when logging in using devise. It's reproducible for me here in an app I started working on today: https://github.com/iHiD/silicon-canal/tree/ac78c31e218b0d70cc081fb193e9e57fe12bb822 I'll try and look further tomorrow.
|
I'm thinking the error is maybe coming from this line in orm_adapter which could call |
Any thoughts on this, @josevalim? This is a really barebones app, so I'm not sure how I've broken it :) |
@iHiD you are correct. if this is causing an issue, it should be solved in ORM Adapter, as first was supposed to be handled transparently by the adapter. :) |
@josevalim OK - cool. I'll check that out tomorrow and work a PR. Any ideas why I'm seeing it but presumably everyone else isn't? Thanks :) |
@iHiD remove this String extension and everything should work fine. Since this code adds |
Thanks @nashby. For anyone else coming to this, Vasiliy has written a great blog post about this. |
@iHiD |
Rails: 4.0.0
Devise: 3.0.0rc
Warden: 1.2.1
When creating object with FactoryGirl I receive "The method .order() must contain arguments.". I can see that generate_token from devise calls find_first method which does not pass argument for order. In active_record 4 order method there is a method called check_if_method_has_arguments!("order", args) which raises error if order has no arguments.
["/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activerecord-4.0.0/lib/active_record/relation/query_methods.rb:1040:in
check_if_method_has_arguments!'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activerecord-4.0.0/lib/active_record/relation/query_methods.rb:275:in
order'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/orm_adapter-0.4.0/lib/orm_adapter/adapters/active_record.rb:23:in
find_first'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/devise-3.0.0.rc/lib/devise/models/authenticatable.rb:286:in
block in generate_token'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/devise-3.0.0.rc/lib/devise/models/authenticatable.rb:284:in
loop'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/devise-3.0.0.rc/lib/devise/models/authenticatable.rb:284:in
generate_token'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/devise-3.0.0.rc/lib/devise/models/token_authenticatable.rb:82:in
authentication_token'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/devise-3.0.0.rc/lib/devise/models/token_authenticatable.rb:48:in
reset_authentication_token'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/devise-3.0.0.rc/lib/devise/models/token_authenticatable.rb:59:in
ensure_authentication_token'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0/lib/active_support/callbacks.rb:397:in
_run__129427932__save__callbacks'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0/lib/active_support/callbacks.rb:80:in
run_callbacks'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activerecord-4.0.0/lib/active_record/callbacks.rb:299:in
create_or_update'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activerecord-4.0.0/lib/active_record/persistence.rb:128:in
save!'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activerecord-4.0.0/lib/active_record/validations.rb:57:in
save!'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activerecord-4.0.0/lib/active_record/attribute_methods/dirty.rb:41:in
save!'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activerecord-4.0.0/lib/active_record/transactions.rb:275:in
block in save!'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activerecord-4.0.0/lib/active_record/transactions.rb:326:in
block in with_transaction_returning_status'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activerecord-4.0.0/lib/active_record/connection_adapters/abstract/database_statements.rb:200:in
transaction'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activerecord-4.0.0/lib/active_record/transactions.rb:209:in
transaction'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activerecord-4.0.0/lib/active_record/transactions.rb:323:in
with_transaction_returning_status'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activerecord-4.0.0/lib/active_record/transactions.rb:275:in
save!'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/factory_girl-4.2.0/lib/factory_girl/configuration.rb:14:in
block in initialize'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/factory_girl-4.2.0/lib/factory_girl/evaluation.rb:15:in
[]'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/factory_girl-4.2.0/lib/factory_girl/evaluation.rb:15:in
create'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/factory_girl-4.2.0/lib/factory_girl/strategy/create.rb:12:in
block in result'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/factory_girl-4.2.0/lib/factory_girl/strategy/create.rb:9:in
tap'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/factory_girl-4.2.0/lib/factory_girl/strategy/create.rb:9:in
result'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/factory_girl-4.2.0/lib/factory_girl/factory.rb:42:in
run'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/factory_girl-4.2.0/lib/factory_girl/factory_runner.rb:23:in
block in run'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activesupport-4.0.0/lib/active_support/notifications.rb:161:in
instrument'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/factory_girl-4.2.0/lib/factory_girl/factory_runner.rb:22:in
run'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/factory_girl-4.2.0/lib/factory_girl/strategy_syntax_method_registrar.rb:19:in
block in define_singular_strategy_method'","(pry):1:in
block (4 levels) in <top (required)>'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:328:in
eval'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:328:in
evaluate_ruby'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:278:in
re'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:254:in
rep'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:234:in
block (3 levels) in repl'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:232:in
loop'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:232:in
block (2 levels) in repl'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:231:in
catch'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:231:in
block in repl'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:230:in
catch'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_instance.rb:230:in
repl'","/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/pry_class.rb:170:in
start'", "/home/szymon/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/pry-0.9.12.2/lib/pry/core_extensions.rb:43:in
pry'","/home/szymon/test/test_spec.rb:38:in `block (4 levels) in <top (required)>'"]
The text was updated successfully, but these errors were encountered: