ruby-on-rails – 在Michael Hartl的Ruby on Rails教程中,如何在
发布时间:2020-12-17 02:00:16 所属栏目:百科 来源:网络整理
导读:我正在尝试在Michael Hartl的 Ruby on Rails教程的第11章末尾完成练习8.通过更改以下内容,我能够在主页上成功应用他的包装助手: %= feed_item.content% 对此: %= wrap(feed_item.content)% 在app / views / shared / _feed_item.html.erb中 但是,当我
我正在尝试在Michael Hartl的
Ruby on Rails教程的第11章末尾完成练习8.通过更改以下内容,我能够在主页上成功应用他的包装助手:
<%= 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 MicropostsHelper def wrap(content) sanitize(raw(content.split.map{ |s| wrap_long_string(s) }.join(' '))) end private def wrap_long_string(text,max_width = 30) zero_width_space = "​" regex = /.{1,#{max_width}}/ (text.length < max_width) ? text : text.scan(regex).join(zero_width_space) end end 解决方法
wrap方法需要一个字符串;你传给它一个数组.
由于其格式化,实际上无法读取该方法,但似乎它只需要一个字符串 – 您试图将整个帖子集合发布到它.但是,您可以收集帖子内容的包装版本. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |