ruby-on-rails - 强参数:ActiveModel::ForbiddenAttributesError
问题描述
假设我有一个 PostsController,我有一个 Post 模型和 Comment 模型。我允许在帖子上发表评论,所以在我的帖子/节目中我放了以下内容
# routes.rb
resource :post do
member do
post :add_comment
end
end
# post.rb
has_many :comments
# comment.rb
belongs_to :post
<%= form_with(model: @post, url: add_comments_post_path) do |form| %>
<%= form.text_area :body %>
<% end %>
# posts_controller
def add_comment
post = Post.find(params[:id])
post.comments.create(params[:comment])
end
private
params.require(:post).permit(:title, :body)
我尝试添加:comment
许可证,但它引发了ActiveModel::ForbiddenAttributesError
解决方案
我得到了像这样固定的强参数 ActiveModel::ForbiddenAttributesError:
params.require(:post).permit(:title, :body, comment_attributes: [:body])
推荐阅读
- pytorch - Pytorch 和 IOS 的演示不适用于 MacBook M1
- python - 为什么我的 matplotlib 脚本在 macbook 桌面上非常慢,但在外接显示器上运行良好?(Python、matplotlib、OSX)
- r - 有没有办法在服务器的过滤器语句中使用反应式单选按钮值
- github-pages - 如果存在 page.github.io 存储库,如何在没有 raw.githubusercontent.com 的情况下将 helm-charts 添加到 github 页面?
- java - 将.java转入.jar,在项目中实现jar
- javascript - 如果在 onChange 中键入另一个字段,如何隐藏一个文本字段?
- adaptive-cards - 如何将字符串数组绑定到 TextBlock?
- java - 如何正确配置 Maven Tomcat 9 以使用 CDI
- autohotkey - 循环几个目录 AHK
- intellij-idea - 如何在 JetBrains Idea 中记住更多 5 次运行配置?