首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >清理Trix输入

清理Trix输入
EN

Stack Overflow用户
提问于 2017-09-13 23:37:44
回答 1查看 375关注 0票数 0

在Rails 5.1下,我使用Trix来允许用户编辑他们的“合法条件”。然后,我尝试在更新用户记录之前清理控制器中的这个'legal‘参数,但结果是:

代码语言:javascript
复制
undefined method `sanitize'

代码如下:

代码语言:javascript
复制
params[:user][:legal] = sanitize params[:user][:legal], tags: %w(strong div strong br li ul)

def user_params
  params.require(:user).permit(:presentation, :linktowebsite, :legal)
end

这里没有看到任何与正常用法不同的用法:http://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html

EN

回答 1

Stack Overflow用户

发布于 2018-03-12 09:45:41

您没有正确使用sanitizesanitize在视图中使用,而不是在控制器中。

要正确使用它,你的模型应该允许字段保存用户的html输入,但是当它在视图中使用时,你想要“清理”它,这样不安全或非白名单的标签/属性就不会被发送/显示给用户。

如果您希望在保存html标记/属性之前将其删除,则可能需要查看strip_tags

代码语言:javascript
复制
strip_tags("Strip <i>these</i> tags!")
# => Strip these tags!

strip_tags("<b>Bold</b> no more!  <a href='more.html'>See more here</a>...")
# => Bold no more!  See more here...

strip_tags("<div id='top-bar'>Welcome to my website!</div>")
# => Welcome to my website!
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46201638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档