【发布时间】:2013-08-22 00:03:31
【问题描述】:
这可能更像是一个 ruby 问题而不是 rails 问题,但我很确定我能够在 vanilla ruby 应用程序中做到这一点。
我定义了强大的参数。
def trip_params
params.require(:trip).permit(:name, :date)
end
现在我在控制器方法中获取这些参数。我想这样做。
def save
trip_params[:name] = 'Modifying name in place'
#trip_params[:name] still equals original value passed
end
这永远行不通。 名称永不改变。 BTW:trip_params 的类型是 ActionController::Parameters
如果我做一个标准的 ruby 脚本,它就可以工作。
test = {}
test[:name] = "blah"
test[:name] = "ok"
puts test #{:name=>"ok"}
【问题讨论】:
-
Trip 是活动记录吗?您可能需要将其显式保存在数据库中:
@trip.save -
我参加了 Trip.new 部分。不要让这分心。我正在尝试修改 ActionController::Parameters 哈希。
标签: ruby ruby-on-rails-4