【问题标题】:How to add to strong parameter whitelist for gem acts_as_votable如何为 gemacts_as_votable 添加到强参数白名单
【发布时间】:2014-08-15 02:37:58
【问题描述】:

我一直在使用 ruby​​ gem 'acts_as_votable' (https://github.com/ryanto/acts_as_votable),并且对它的易用性感到满意。

我的问题源于 gem 没有明确创建控制器。如果没有控制器(和模型,因此无法回退到 attr_accessible),我将无法编辑强参数白名单。因此,我无法将值传递给已添加到投票数据库的新列。

我尝试创建自己的投票控制器,从 gem 的 lib/extenders/controller.rb 中粘贴“voter_params”(带有我的附加参数),但没有成功。

如果有人知道如何将我添加到此参数白名单中,将不胜感激。

谢谢!

【问题讨论】:

  • 你在使用 Rails 4 吗?
  • 是的,Rails 4.1.1 - Ruby 1.9.3

标签: ruby-on-rails ruby strong-parameters voting


【解决方案1】:

将以下内容添加到您的Config > initializers > acts_as_votable.rb

module ActsAsVotable
  ActsAsVotable::Vote.class_eval do
      attr_accessible :votable, :voter, :vote_scope
  end
end

【讨论】:

  • 不幸的是,这不起作用。它还需要我试图避免的“protected_attributes”宝石。我对 rails 4 strong params 版本的尝试(也失败了)如下:ActsAsVotable::Vote.class_eval do def votable_params(params_object = params[:vote]) params_object.permit(:vote_registered) end def voter_params(params_object = params[:vote]) params_object.permit(:votable_id, :votable_type, :voter_id, :voter_type, :votable, :voter, :vote_flag, :vote_scope, :vote_time) end end
猜你喜欢
  • 2020-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-31
  • 2016-09-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多