如何解决Rails:我们如何检测在CRUD控制器中更新了哪些参数
|| 我只是想知道:如何识别经典CRUD控制器中正在更新的参数? 我想根据要更改的参数重定向到其他路径。 例如,如果我有一个具有3个属性id
name
和firstname
的Person
在我的控制器中:
def update
@person = Person.find(params[:id])
respond_to do |format|
if @person.update_attributes(params[:person])
#...
else
#...
end
end
end
如何检测name
被更改,而不是firstname
像“ 7”字样可以工作吗?
谢谢你的帮助!
解决方法
这样您就可以像您说的那样检查参数。像
if !params.[:name].nil? ...
要么
您可以使用_changed?
方法
@person.attributes = params[:person]
if @person.name_changed?
next_path = name_changed_path
else
...
end
@person.save
redirect_to next_path
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。