为我的项目编写测试,并在运行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
)我将在未来的研究中使用宝石修复此警告,或者我会尝试找到更换方法它
答案 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行传递。