【发布时间】:2015-10-24 18:43:41
【问题描述】:
我确定这是我没有看到的小东西,但是当我尝试通过表单在 rails 4 中更新信息时,我得到的参数数量错误(1 比 2)。
这是我的控制器操作:
def update
@lion = Lion.find(params[:id])
@lion = Lion.update(lion_params)
redirect_to lion(@lion)
end
这是该控制器的私有方法中的 lion_params
def lion_params
params.require(:lion).permit(:name, :about, :weight, :health, :health_notes, :photo_url, :trainer_id)
end
所有信息都显示在表单中,所以我不太确定这个错误来自哪里。
【问题讨论】:
-
我感觉你的意思是
@lion.update(lion_params)而不是@lion = Lion.update(lion_params) -
我的。我不知道更糟的是,犯了愚蠢的错误,或者看了很多遍却没有抓住它。哈哈。感谢您的新鲜眼睛! :)
-
作为一个离题的评论,在编写 Ruby 代码时,您可能希望坚持使用 2 个空格缩进。这就是 Ruby 社区中使用的东西。
-
也感谢您指出这一点,我确实想遵循惯例和最佳实践:)
标签: ruby-on-rails forms