Ruby on Rails创建记录时报Wrong Number of arguments (given 0 expected 1)错误
问题修复方案
核心报错修复
触发参数数量错误的根因为divorces_controller.rb内强校验方法的语法错误:params.require.(:divorce) 中require方法后存在多余的英文句号,调用语法非法。
修正后的user_params代码:
def user_params params.require(:divorce).permit(:marriage_date, :seperation_date, :state_of_marriage, :child_support, :address, :childrens_address, :contact_with_other, :telephone) end
其余关联问题修正
- 字段名拼写不匹配:原
permit参数中state_of_mariage拼写错误,需和表单字段state_of_marriage保持一致,否则该字段值无法正常传入模型 - 表单冗余字段:
new.html.erb中child_support字段重复渲染了两次,可根据业务需要删除多余的重复代码 - 逻辑补全建议:
create方法中缺少保存结果的处理逻辑,可补充保存成功后的跳转逻辑、以及保存失败后的错误提示和表单回显逻辑,优化用户操作体验
内容的提问来源于stack exchange,提问作者Ari Ticas
相关产品推荐
相关产品推荐

