我将数据转储到 yml 文件,但无法加载。它是“to_yaml”吗?漏洞?
我将数据从数据库转储到“test/fixtures/*.yml”,但是当我使用 rake db:fixtures:load 时,它抱怨 yml 的内容无效。以下是我的 yml 内容:
answer_00016:
id: 16
content: |-
<% output_once :define_aaa do %>
Your stuff here
<% end %>
注意,<% ... %>
部分是答案的内容。
当我加载夹具时,错误消息是:
The exact error was:
NoMethodError: undefined method `output_once' for main:Object
以下是我的转储数据代码:
data = ActiveRecord::Base.connection.select_all(sql % table_name)
file.write data.inject({}) {|hash, record|
hash["#{table_name}_#{i.succ!}"] = record
hash
}.to_yaml
问题出在哪里?我该如何修复它?
I dump the data from database to "test/fixtures/*.yml", but when I use rake db:fixtures:load
, it complains the content of yml is invalid. Following is the content of my yml:
answer_00016:
id: 16
content: |-
<% output_once :define_aaa do %>
Your stuff here
<% end %>
Notice, the <% ... %>
part is the content of the answer.
When I load the fixture, the error message is:
The exact error was:
NoMethodError: undefined method `output_once' for main:Object
Following is my code to dump data:
data = ActiveRecord::Base.connection.select_all(sql % table_name)
file.write data.inject({}) {|hash, record|
hash["#{table_name}_#{i.succ!}"] = record
hash
}.to_yaml
Where is the problem? How can I fix it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
已修复:如何转义装置中的 ERB 代码?
我写入文件,我应该首先将
<%
替换为<%%
Fixed: How do I escape ERB code in fixtures?
When I write to file, I should replace
<%
with<%%
first