ruby-on-rails – 在Michael Hartl的Ruby on Rails教程中,如何在show.html.erb中使用wrap helper?我得到了未定义的方法`scan’

ruby-on-rails – 在Michael Hartl的Ruby on Rails教程中,如何在show.html.erb中使用wrap helper?我得到了未定义的方法`scan’,第1张

概述我正在尝试在Michael Hartl的 Ruby on Rails教程的第11章末尾完成练习8.通过更改以下内容,我能够在主页上成功应用他的包装助手: <%= feed_item.content%> 对此: <%= wrap(feed_item.content)%> 在app / views / shared / _feed_item.html.erb中 但是,当我尝试通过这样做在app / v 我正在尝试在Michael Hartl的 Ruby on Rails教程的第11章末尾完成练习8.通过更改以下内容,我能够在主页上成功应用他的包装助手:

<%= Feed_item.content%>
对此:
<%= wrap(Feed_item.content)%>

在app / vIEws / shared / _Feed_item.HTML.erb中

但是,当我尝试通过这样做在app / vIEws / users / show.HTML.erb中实现wrap helper时:

<%=渲染换行(@microposts)%>

我明白了:

undefined method `scan' for #Array:0x00000102e8cc10>

我究竟做错了什么?

这是包装助手的代码:

module MicropostsHelperdef wrap(content)  sanitize(raw(content.split.map{ |s| wrap_long_string(s) }.join(' ')))endprivate   def wrap_long_string(text,max_wIDth = 30)     zero_wIDth_space = "&#8203;"     regex = /.{1,#{max_wIDth}}/     (text.length < max_wIDth) ? text :                               text.scan(regex).join(zero_wIDth_space)   endend
解决方法 wrap方法需要一个字符串;你传给它一个数组.

由于其格式化,实际上无法读取该方法,但似乎它只需要一个字符串 – 您试图将整个帖子集合发布到它.但是,您可以收集帖子内容的包装版本.

总结

以上是内存溢出为你收集整理的ruby-on-rails – 在Michael Hartl的Ruby on Rails教程中,如何在show.html.erb中使用wrap helper?我得到了未定义的方法`scan’全部内容,希望文章能够帮你解决ruby-on-rails – 在Michael Hartl的Ruby on Rails教程中,如何在show.html.erb中使用wrap helper?我得到了未定义的方法`scan’所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1266440.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存