问题标签 [strong-parameters]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
217 浏览

ruby-on-rails-3.2 - ActiveModel::MassAssignmentSecurity::Error: 即使使用 whitelist_attributes=false 也无法批量分配受保护的属性

我正在从 rails 2.3 迁移到 3.2 并想使用strong_parameters. 我将config.active_record.whitelist_attributesconfig更改truefalse,但这没有帮助。

0 投票
1 回答
75 浏览

ruby-on-rails - 您如何使用“创建!” 与strong_params?

好的,所以在安装strong_params之前, usingMyBook.create!可以工作,但现在不行。

这是我的代码

我试过

但我越来越Required parameter missing: my_book

我究竟做错了什么?我可以一个一个地更新每个属性,但这似乎效率不高。我知道我无法批量分配受保护的属性,但不必在我的模型中分配属性(因为 strong_params),我不明白如何让它工作。

先感谢您

0 投票
0 回答
700 浏览

ruby-on-rails - 如何使用强参数动态添加虚拟属性

我有这个控制器:

如您所见,我有 2 级嵌套属性,问题是我在使用强参数之前添加了一个虚拟属性,如下所示:

如何同时使用嵌套属性和强参数来实现这一点?

0 投票
1 回答
445 浏览

ruby-on-rails - Rails 4 - 邮箱 attr_accessible

我正在尝试让MailboxerRails4 工作,但没有任何运气。

我的conversations_controller.rb看起来像这样 ->

结尾

和我的application_controller.rb像这样->

结尾

在加载页面时我得到->

0 投票
1 回答
2427 浏览

ruby-on-rails - Rails4:嵌套父级参数上的 ForbiddenAttributesError

我仍在尝试围绕Rails 4 中的强参数ActiveModel::ForbiddenAttributesError。当我尝试为另一个模型提交带有参数的表单时,我得到了一个它belongs_to

Product :has_many DiskFiles

经过一番调查,我意识到我需要先符号化我的钥匙,然后再将它们传递给这样的东西,否则我会得到ForbiddenAttributesError. 所以这将起作用:

检查参数[:产品]:

在任何一种情况下,我都允许这些参数(除其他外):

作为最初的所有参数,strings那么我们应该允许string参数的版本而不是symbol?!? 不确定这里的最佳做法是什么?!?我知道 Rails 4 模板包含符号化参数。

0 投票
1 回答
948 浏览

ruby-on-rails - 从控制器设置虚拟模型属性在 Rails 4 中创建操作 - 属性始终为零

一些背景知识:我有一个带有小数列的 Rails 4 模型d。在应用程序中保存或查看时,可能需要根据当前用户的偏好将值分别转换为整数值或从整数值转换。

计算应该进入模型似乎最合适,并且不应该了解用户。

在进行了一些搜索之后,在我看来,实现这一目标的最佳方法是通过模型上的 2 个虚拟属性:一个用于当前用户的首选格式,一个用于值,应用任何计算。

所以我想出了这样的事情:

表单是指value_converted而不是d,这适用于编辑、更新和查看。问题是#create行动。

我相信这个问题正在发生,因为 setter 正在访问format,而且我似乎无法在调用 setter 之前找到一种设置方法format#create换句话说,当new创建对象时。

我想也许我可以将它format与其他参数一起传递(如在这个答案中,所以我尝试在标准强参数票价之内和之后将它合并,但没有运气:

两个都

不要引发任何错误,但显然会被忽略。但是,只需在控制台中传递formatto就可以了。new

所以我的问题是:有没有人可以解决这个问题?或者也许是更好/更合适的方式?看起来应该很简单。

谢谢你的帮助

0 投票
1 回答
1885 浏览

http-post - 带有 link_to 的 rails 4 和带有强参数的方法 post

我陷入了一个不可能那么复杂的问题,但我只是没有把事情做好。

假设我有两个模型:

嵌套路由如下:

和这样的通知控制器:

现在,当涉及到创建通知时:表单按方面工作。但是:我想实现第二个目标。通知应该是可重新发送的,所以我在通知索引视图中有这个:

但是验证失败并且我重定向到新页面而没有任何预填充字段告诉我该数字是必需的,因此必须缺少一些我没有得到的明显内容。

请求中的参数:

(不需要留言)

我认为错误在于控制器中的 notification_params 方法。

任何人都可以帮助我吗?

0 投票
1 回答
7288 浏览

ruby-on-rails - Rails 4:使用“强参数”强制特定值

我正在为创建“项目”的表格而苦苦挣扎。最终我只想允许当前的 user_id 但我还没有构建 User 模型或身份验证,所以作为占位符,我只是硬编码1

应用程序/视图/项目/new.html.erb:

应用程序/控制器/projects_controller.rb

这是我尝试提交表单时遇到的错误:

看来 project_params() 方法正在剥离 user_id。我究竟做错了什么?

0 投票
3 回答
3967 浏览

ruby-on-rails - 使用强参数定制设计

我正在使用 Rails 4.0.0 和 Devise 3.0.2 并尝试按照设计自述文件中的此说明配置具有强参数的设计。

我在application_controller.rb

然后我参观了http://localhost:3000/users/sign_up。我得到了一个NoMethodError in Devise::RegistrationsController#new,上面写着:

未定义的方法<<' for {}:ActionController::Parameters

并指向我写的确切行devise_parameter_sanitizer.for(:sign_up) << :nick

是不是我做错了什么?谢谢你的帮助。

0 投票
3 回答
656 浏览

ruby-on-rails - 在 Rails 4 中的视频文件上使用 Paperclip - 强参数问题?

我想在 Rails 4.0.0 应用程序中使用 Paperclip 将视频文件添加到 Episode 模型。但是,当我在创建操作(第二行)中调用 episode_params 时,出现错误“没有将符号隐式转换为哈希”:

结尾

我的 episode_params 方法:

参数哈希:

我也尝试过 :video 而不是 :video => [ etc ],但没有成功。任何想法将不胜感激。

完整的回溯: