Ruby / Rails:使用`separator:' - '`而不是

时间:2016-11-23 21:53:36

标签: ruby-on-rails ruby

为我的项目编写测试,并在运行rspec

时注意它的终结点
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)

我在保存记录之前有一个动作,看起来像是

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

我试图找到一些有关此事的信息,但我并不理解这个警告意味着什么。

**编辑**

嗯,我已经改为"#{theme}-#{Time.now.to_formatted_s(:number)}",但它仍然给了我同样的警告。

我决定采用其他方式改变"#{theme}(#{date})"date方法如下所示:

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

但它仍然给我一个错误。

我不认为这是一个非常大的问题,但我仍然想知道为什么会这样。

**编辑**

弄明白,我必须使用宝石导致该问题(宝石被称为the_string_to_slug)我将在未来的研究中使用宝石修复此警告,或者我会尝试找到更换方法它

3 个答案:

答案 0 :(得分:1)

试试这个

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

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

答案 1 :(得分:1)

此弃用已在10天前删除。 https://github.com/rails/rails/commit/0189f4db6fe518de8909b66b7f30046bac52dedc

可能其中一个宝石使用旧格式的parameterize方法。

答案 2 :(得分:0)

  

DEPRECATION WARNING:将分隔符参数作为位置传递   参数已弃用,很快就会被删除。   请改用separator: '-'

这告诉您不要将-直接插入字符串,而是将选项哈希或关键字参数separator: '-'传递给您的方法,而不是从Post模型的第37行传递。

相关问题