Ruby on rails 发送到类时正在更改的哈希数据
我的端点向类/工作者发送Ruby on rails 发送到类时正在更改的哈希数据,ruby-on-rails,ruby,Ruby On Rails,Ruby,我的端点向类/工作者发送params def end_point SomeClass.new.perform(params) end SomeClass开始定义变量 def perform(params) @variable = params[:variable] end 如果在pry会话中执行@variable.count,它将返回2。但是如果我执行params[:variable].count,它将返回1(正确的值)。正在从方法内部更改数据 我尝试重命名params中的参数,尝试
params
def end_point
SomeClass.new.perform(params)
end
SomeClass
开始定义变量
def perform(params)
@variable = params[:variable]
end
如果在pry会话中执行@variable.count
,它将返回2
。但是如果我执行params[:variable].count
,它将返回1
(正确的值)。正在从方法内部更改数据
我尝试重命名params
中的参数,尝试在pry中手动设置变量(这将导致1
),但当它在方法中定义时,仍然会导致2
。我检查以确保从控制器发送的信息没有被更改。任何帮助都将不胜感激
params
{"variable"=>
[{"id"=>68,
"ed"=>5213,
"lo_id"=>2192,
"lo_name"=>"Arkan",
"state"=>"created",
"closed_at"=>nil,
"unstarted"=>false,
"crtal"=>0,
"cas_eived"=>0,
"or_payments"=>0,
"cips"=>0,
"g_sles"=>0,
"ters"=>0,
"itews"=>
[{"id"=>615,
"unit_re"=>{"id"=>708, "name"=>"each", "abbreviation"=>"ea", "quantity"=>"1.0", "stock_item_id"=>985, "default_for"=>["base"]},
"pce"=>0,
"nme"=>"1 Yer nant",
"sol]unt"=>0,
"cgory_id"=>nil,
"caty_name"=>"Uncategorized",
"sub_rows"=>nil,
"prev_count"=>0,
"preransfunt"=>0,
"pre_nt"=>0,
"staount"=>0,
"actrt_count"=>0,
"id_evecount"=>0,
"minsfers_out_ount"=>0,
"wasunt"=>0,
"grunt"=>0,
"ennt"=>0,
"ovunt"=>0,
"gont"=>0,
"quane"=>1,
"expunt"=>0,
"goes"=>0,
"staiance"=>0,
"vance"=>0,
"paramsToConvert"=>
["scount",
"pent_transfer_in_count",
"pent_transfer_out_count",
"s_end_count",
"o_count",
"e_count",
"g_count",
"a_start_count",
"m_transfers_in_count",
"m_transfers_out_count",
"g_count",
"w_count",
"s_count"]},
"action"=>"batch_print",
"controller"=>"s",
"event_id"=>"53",
"format"=>"pdf"
}
你能分享
params
的样本值吗?是的,尽管准备好了,它很长params
和params[:变量]的类别是什么
?添加了一些示例参数。您是否已将params
更改为options
并查看发生了什么情况?您是否可以共享params
的示例值?是的,但需要准备,它非常长params
和params[:variable]
?添加了一些示例参数。您是否已将params
更改为options
并查看发生了什么?