新手问题 学 Ruby on Rails 过程中遇见的一些 “奇怪” 问题???

qq2729877005 · July 08, 2017 · Last by qq2729877005 replied at July 09, 2017 · 1637 hits

俗话说得好,有图有真相!

如图,一个是在 rails 控制台中,一个是在 ruby 中,分别在这两者中定义一个同样的 hash 方法,

为什么 rails 控制台里打印两次结果,而 ruby 却只打印了一次呢???

此问题是在看《railstutorial4th-0.1.2》书籍中,以下内容引出:

before_action 和 before_filter 至今没搞明白什么区别 哪个版本用哪个

Rails 里的方法调用,会调用 inspect 方法,它会返回它的值 (如果我没记错的话)😂

3 Floor has deleted
Reply to zahi

Rails > 4.0.0 是使用 before_action。Rails 5.1,before_filter 被删除了。

Reply to zahi

还好,目前只遇见过 before_action,没碰过 before_filter,不用为此费心😌

Reply to yunshang

不太理解这句话,inspect 方法不是显示字面值的吗?为什么调用了它就会出现两次结果?这两者之间有什么联系吗?

第一个 hash 多重输出的问题在一个新的 5.1.2 项目上复现不出来

另外不要覆盖 hash 函数,那个函数存在的

在 console 里面也只打印了一次吧。两个abc + 1 第一个是打印的,第二个是返回值。

在 irb 里面也是一样的,打印一次,返回一次。只是你这个地方覆写了 hash 函数,报错了,所以没看到返回值吧。

我理解错你的问题了

Reply to ringokun

谢谢,按照你所说的,把函数名改了一下,发现确实如此,感谢大侠🎉

Reply to jasl

解决了,正如你和 8 楼说的一样,谢谢前辈解疑🎉

Reply to yunshang

有回复就不会沉,不会沉就有希望解决,谢谢你能热心解惑🎉

qq2729877005 closed this topic. 22 Jul 14:03
You need to Sign in before reply, if you don't have an account, please Sign up first.