【发布时间】:2021-03-30 00:36:36
【问题描述】:
如何有条件地编辑强参数?例如,我有以下编辑强参数(国家)。它做了一些简单的事情;将其从长更改为短,例如“美国”到“美国”。
def user_params
params.require(:user).permit(:user_id, :first_name, :last_name, :country, :currency).tap do |user_params|
user_params[:country] = full_list_countries[params[:user][:country].to_sym]
end
end
问题是,只要:country 不存在,它就会出错。
无论:country 是否存在,我怎样才能让代码正常工作?
【问题讨论】:
-
您遇到的错误是什么?
-
@Turtlean 我想通了。我指的是
user_paramsinsideuser_params。这是一个非常糟糕的主意(递归函数,CPU 几乎立即达到 100%,粉丝也是) -
哈哈,有道理。好的,那对你有好处!
标签: ruby-on-rails ruby-on-rails-6 strong-parameters