我有这个控制器
def mymethod
@theparam => (params[:valueoftheparam])
@theparam => "3"
callothermethodthatusetheparam
end
所以基本上,我有“valueoftheparam”这是“2”。
我需要将“2”的值改为“3”,并让“callothermethodthatusetheparam”为新的参数(即“3”) )
但是,“callothermethodthatusetheparam”最后仍然使用旧值(“2”)。
如何在控制器中更改此值,并让“callothermethodthatusetheparam”使用新的参数值?
谢谢!
答案 0 :(得分:12)
你必须直接修改值,实例变量不指向param,它只是克隆其值
params[:valueoftheparam] = 3
答案 1 :(得分:1)
如果你喜欢这样,我相信你会得到3张(@params将是“3”)
def my_method
@param = (params[:valueoftheparam])
@param = "3"
other_method
end
def other_method
puts @param
end