Rails 在 each loop 中利用 form_for 更新个别字段出现 params missing 的问题

azpokr · 2016年05月24日 · 最后由 azpokr 回复于 2016年05月24日 · 1750 次阅读

RT,想做一个确认收货的功能,就是再点击确认收货的按钮之后改变对象的相应字段名,由于想到整个过程跟更新已有对象信息差不多,所以就想到了用 form_for 方法,接下来上图,求前辈们看看问题出现在哪里 页面请求: controller: 报错:

你可以看一下 HTML 里的 name 是不是这样的形式 order[order_status] ,如果不是的话,那应该就是 form_for 哪里用错了。如果是的话,并且 log 里的日志中没有 order,那估计是提交的时候哪里出了问题。总之,你可以把浏览器中 HTML 的源码和 params 的 log 贴出来方便找原因

btw,这个似乎可以用 button_to 来实现

#1 楼 @tony612 如前辈所说,查看源码后确实是 order[order_status] 如图 还有:我看了 button_to 的 api: 没发现 value 值的定义啊?是默认的么?

#1 楼 @tony612 .....我刚才又运行了一遍原来代码,居然能用了...,顺便问一下前辈,params log 使用 debug(params)查看么?

#3 楼 @azpokr params 可以输出。你认真看 log 的话 也可以找到 form_for 提交操作时传的 params

#2 楼 @azpokr 另外有个小建议,一般不用直接贴公司代码上来,除非是开源的,让老板看了不好。

#5 楼 @qinfanpeng 谢谢前辈提醒,但是这个是我自己写的,大四的毕业设计,一边自学一边赶出来的,所以有好多问题

需要 登录 后方可回复, 如果你还没有账号请 注册新账号