2017-01-20 1 views
0

J'utilise Rails 5. J'ai cette méthode de commandeObtenir trop peu d'arguments erreur lors de l'appel format.js

def import_matching_objects 
    matching_objects = objectTime.find_by_name_and_hometown_and_age(current_user) 
    matching_objects.each do |object_time| 
     user_object_time_match = UserObjectTimeMatch.new(:user_id => user.id, 
               :object_time_id => object_time.id, 
               :matches => true) 
     # Save objects 
     if !user_object_time_match.save_and_create_object_time 
     puts "Failed to save user object: #{user_object_time_match.errors.full_messages}" 
     end 
    end 
    format.js { render js: "window.location='/objects/index'" } 
    end 

mais sa production cette erreur

ArgumentError (too few arguments): 

app/controllers/user_object_time_matches_controller.rb:31:in `format' 

sur la ligne « format. js {render js: "window.location = '/ objects/index'"} ". Ma syntaxe semble cohérente avec tous les exemples que j'ai trouvés en ligne. Qu'est-ce que je rate?

Répondre

0

Un bloc respond_to devrait résoudre le problème ArgumentError (too few arguments):

respond_to do |format| 
    format.js { render js: "window.location='/objects/index'" } 
end