Nombre impair liste de hash
Je vais essayer d'obtenir un rails de site web et en cours d'exécution à partir de github, et je rencontre ces erreurs:
WARNING: 'task :t, arg, :needs => [deps]' is deprecated. Please use 'task :t, [args] => [deps]' instead.
at /Library/Ruby/Gems/1.8/gems/sunspot_rails-1.2.1/lib/sunspot/rails/tasks.rb:41 rake aborted! /Users/robertgrzesik/Documents/RubyOnRails/IndieOption/app/helpers/advertisements_helper.rb:15: odd number list for Hash
user_id: current_user.id,
^ /Users/robertgrzesik/Documents/RubyOnRails/IndieOption/app/helpers/advertisements_helper.rb:15: syntax error, unexpected ':', expecting '}'
user_id: current_user.id,
^ /Users/robertgrzesik/Documents/RubyOnRails/IndieOption/app/helpers/advertisements_helper.rb:16: syntax error, unexpected ':', expecting '='
page: request.url
^ /Users/robertgrzesik/Documents/RubyOnRails/IndieOption/app/helpers/advertisements_helper.rb:17: syntax error, unexpected '}', expecting kEND
})
^ /Users/robertgrzesik/Documents/RubyOnRails/IndieOption/app/helpers/advertisements_helper.rb:20: odd number list for Hash
page: request.url
^ /Users/robertgrzesik/Documents/RubyOnRails/IndieOption/app/helpers/advertisements_helper.rb:20: syntax error, unexpected ':', expecting '}'
page: request.url
^ /Users/robertgrzesik/Documents/RubyOnRails/IndieOption/app/helpers/advertisements_helper.rb:21: syntax error, unexpected '}', expecting kEND
})
^
pour ce code:
if ad
if current_user
ad.impressions.create({
user_id: current_user.id,
page: request.url
})
else
ad.impressions.create({
page: request.url
})
end
link_to external_redirect_advertisement_url(ad) do
image_tag ad.image.url(format)
end
else
nil
end
end
Des idées?
OriginalL'auteur Rob | 2011-11-04
Vous devez vous connecter pour publier un commentaire.
Vous essayez d'utiliser 1,9 hachage syntaxe (
key: value
) avec un 1.8 Ruby (:key => value
).ruby-v; bundle exec unicorn_rails -E de la production-le port 8081
Cela m'a aidé, mon style guide d'utilisation >= 1.9 n'avait pas mentionné ce et mon système est à l'aide de 1.8. Merci!!!!
Salut Dave, je suis sur ruby-v 1.8.7, Rails 3. J'ai syntaxe comme tel: dic = { :key => ["A", "B", "C", "D"] }, Mais je suis toujours la même erreur. Toute idée de ce qui pourrait mal se passer?
Vous ne pouvez pas obtenir un message d'erreur concernant le hachage de la syntaxe à partir de cette ligne dans Ruby 1.8 ou les versions ultérieures. Si suggèrent de poser une nouvelle question, avec la précision d'erreur et le code qui en est la cause.
OriginalL'auteur Dave Newton
Quelle est la version de Ruby êtes-vous en cours d'exécution? Les hachages de l'air correct à première vue, mais le
foo: 'bar'
de hachage syntaxe est de 1,9+ seulement. Si vous êtes à l'aide de Ruby 1.8.x vous aurez besoin jusqu'à la mise à niveau.OriginalL'auteur Emily
Wow, l'exécution d'effets secondaires (création de la notice) au sein d'un helper est probablement l'une des dernières choses que vous devriez faire. De toute façon, un refactoriser proposition (je ne vois pas la nécessité de vérifier
current_user
, pas besoin d'unelse nil
, Ruby n'est que par défaut):OriginalL'auteur tokland