【问题标题】:Ignore attr_accessible under Rails 4 strong parameters transition?Rails 4强参数转换下忽略attr_accessible?
【发布时间】:2014-03-08 09:49:35
【问题描述】:

我有一个 Rails 4 应用程序,我目前使用 protected_attributes gem。它工作正常,但现在我觉得我需要过渡到强参数。 所以问题是我不想在所有测试通过之前删除“attr_accessible”。 我试图删除我的 gemfile 中的“protected_attributes”,然后我收到了这个错误: "attr_accessible 从 Rails 中提取到 gem 中。请为 params(strong_parameters) 使用新的推荐保护模型,或者将 protected_attributes 添加到您的 Gemfile 以使用旧的。"
我想忽略这个错误,直到我的所有测试都通过了我应该怎么做?

【问题讨论】:

  • 注释掉对attr_accessible的调用? :)
  • 注释掉 attr_accessible 很好!我在想一种破坏性较小的做事方式。我在想我的考试能走多远?目前它不显示失败的测试数量,只是在测试开始之前直接退出。

标签: ruby-on-rails ruby-on-rails-4


【解决方案1】:

正如 Sevenseacat 指出的,您应该注释掉所有类中的所有 attr_accessible 调用。是的,否则您的测试现在会中断,但这实际上是一件好事。如果您的所有测试现在都是绿色并变成红色,那么您确切地知道应该在哪些控制器上添加强参数。在我看来,红色 -> 绿色循环的全部意义。

所以,请让您的测试失败,并使用注释掉的 attr_accessible 调用作为在相应控制器中要求和允许哪些属性的参考。只要您不进行其他更改,您就不必担心破坏您的测试套件。你知道需要做什么来修复它。

【讨论】:

  • 问题是当我运行测试时它直接退出并显示错误消息。所以我什至无法启动测试服。
  • 你可以在注释掉所有 attr_accessible 调用之后。完成后,您就可以进行重构了。
猜你喜欢
  • 2020-08-28
  • 2014-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-09
  • 1970-01-01
相关资源
最近更新 更多