如何将.rb文件中的值渲染到.erb文件?Ruby新手求助
解决ERB不渲染Ruby方法返回值的问题
别担心,这个小问题很容易搞定!你遇到的核心问题是ERB标签的用法搞错了,跟你Ruby经验多少没关系~
问题原因
ERB里有两种常用标签,作用完全不同:
<% 代码 %>:只会执行里面的Ruby代码,但不会把代码的返回结果输出到页面上<%= 代码 %>:执行代码的同时,会把代码的返回值渲染到页面中
你现在用的是<% abc %>,它确实执行了abc()方法,但没把返回的"aaaaa"输出出来,所以页面只显示Hello。
解决方法
只需要把你的.erb文件里的代码改成下面这样:
Hello <%= abc %>
这样ERB就会执行abc()方法,并且把它返回的"aaaaa"渲染到页面上,最终就能看到你想要的Hello aaaaa啦。
另外你的.rb文件里的方法是没问题的,abc()确实返回了字符串"aaaaa",不需要修改。
不管你用的是纯Ruby的ERB还是Ruby on Rails,这个标签的规则都是通用的,所以这个修改肯定管用~
内容的提问来源于stack exchange,提问作者javing
相关产品推荐
相关产品推荐

