我需要在rails控制台中尝试这个帮助方法,但是我收到错误 对不起,我是新手。
juan:~/workspace/sample_app$ rails c
Loading development environment (Rails 4.2.0.beta2)
2.1.1 :001 > helper.provide(:title,"Home")
=> nil
2.1.1 :002 > yield :title
LocalJumpError: no block given (yield)
我想在rails控制台中重现名为provide
的视图助手方法中的行为实施例
<% provide(:title, "Home") %>
<!DOCTYPE html>
<html>
<head>
<title><%= yield(:title) %> | Ruby on Rails Tutorial Sample App</title>
</head>
<body>
<h1>Sample App</h1>
<p>
This is the home page for the
<a href="http://www.railstutorial.org/">Ruby on Rails Tutorial</a>
sample application.
</p>
</body>
</html>
答案 0 :(得分:1)
只有在使用块调用的方法内时,才能使用yield
。在rails控制台中,您处于主环境中,没有任何阻塞,这就是您收到该错误的原因。
您可以查看this answer,了解yield
在视图中的工作原理。
执行您尝试执行的操作的最佳方法是在渲染时将调试器放在视图中,然后测试所提供的功能。