2016-11-23 15 views
7
testu

pisanie dla mojego projektu, i zauważ, że to ostrzeżenie podczas uruchamiania terminala rspecRuby/Rails: Użyj separatora `:„-'` zamiast

DEPRECATION WARNING: Passing the separator argument as a positional 
parameter is deprecated and will soon be removed. 
Use `separator: '-'` instead. 
(called from add_link at /myapp/app/models/post.rb:37) 

mam akcja przed zapisaniem rekordu wygląda

self.link = theme + '-' + Time.now.to_formatted_s(:number) 

Próbowałem znaleźć informacje na ten temat, ale tak naprawdę nie rozumiem znaczenia tego ostrzeżenia.

** EDIT **

Cóż, zmieniło "#{theme}-#{Time.now.to_formatted_s(:number)}" ale wciąż daje mi ten sam ostrzeżenia.

Niż zdecydowałem się przejść w inny sposób i zmieniono dla "#{theme}(#{date})". Metoda date wygląda następująco:

date = [Time.now.day, Time.now.month, Time.now.year] 
date = date.join('-') 
date 

Ale nadal daje mi błąd.

Nie sądzę, że to naprawdę duży problem, ale wciąż chcę się dowiedzieć, dlaczego tak się dzieje.

** EDIT **

zrozumieć to, że musi on klejnot Używam przyczyna tego problemu (gem nazywa the_string_to_slug) Zrobię przyszłe badania, aby naprawić to ostrzeżenie z GEM lub Postaram się znajdź sposób, aby go zastąpić.

+2

Czy to całe ostrzeżenie? – Stefan

+0

@Stefan edytowane, aby zobaczyć całe ostrzeżenie –

+2

Jak wygląda kod z modelu, który rzuca ostrzeżenie? '/myapp/app/models/post.rb: 37' – user3366016

Odpowiedz

1

Spróbuj zamiast

parameterize("Donald E. Knuth", separator: '_') # => "donald_e_knuth" 

http://www.rubydoc.info/gems/activesupport/5.0.0/ActiveSupport%2FInflector%3Aparameterize

+0

Kiedy robię to 'self.random_link = parameterize (" # {theme} # {Time.now.to_formatted_s (: number)} ")' to daje mi 'NoMethodError: undefined method" parameterize "for # 'nie do końca rozumiem, dlaczego –

+0

" # {theme} - # {Time.now.to_formatted_s (: number)} "parameterize –

0

DEPRECATION WARNING: Passing the separator argument as a positional parameter is deprecated and will soon be removed. Use separator: '-' instead.

ta mówi, aby nie wkładać - bezpośrednio do łańcucha, ale dla zabicia hash opcji lub argumentu słowa kluczowego separator: '-' do metody zamiast z linia 37 modelu Post.

+0

Nie do końca rozumiem, czy możesz dać mi przykład? (jak z niego korzystać) –

Powiązane problemy