我在此链接上的教程中添加了动态表单字段到我的rails应用程序 railscasts或youtube以及源代码github
使用表单数据创建/更新可以正常工作。但是,我收到以下错误
undefined method `humanize' for :author:Symbol
当我尝试使用此命令查看使用控制台插入的产品时,例如
Product.create(product_type_id: 1, name: "refactoring", price: 24.99, properties: {author: "Martin Fowler", page_count: 197, paperback: 1 } )
检查数据库我注意到通过控制台插入的数据没有被序列化
通过表单提交的示例数据:
--- !ruby/hash:ActionController::Parameters
author: Martin Fowle
page_count: '197'
paperback: '1'
通过控制台提交的示例数据:
---
:author: Martin Fowle
:page_count: '197'
:paperback: '1'
我怎样才能让它发挥作用?
我需要这个,因为我也希望能够使用来自外部来源的数据来更新产品,例如来自API的数据。
答案 0 :(得分:0)
您的数据是通过控制台序列化的,但是您传递的是不同的对象,只是普通的哈希值,而在控制器中它是try (BufferedReader inputStream = new BufferedReader(new FileReader("xanadu.txt"));
PrintWriter outputStream = new PrintWriter(new FileWriter("characteroutput.txt")) {
// your code here
}
个对象。
在控制台中尝试这样的事情:
ActionController::Parameters