我有Portfolio
scaffold
。在update
的{{1}}方法中,我呼叫controller
show
。但是,我在view
中实例化的变量(@weights
)不会保留其值。
控制器:
controller
查看
@weights = @portfolio.compute_weights
pp "in the controller, the weights are #{@weights}"
format.html { redirect_to @portfolio, notice: 'Portfolio was successfully updated.' }
format.json { render :show, status: :ok, location: @portfolio }
输出
<% pp "in the view, the weights are #{@weights}"%>
为什么会这样?
答案 0 :(得分:1)
在format.html阻止时,您将重定向到其他控制器。
如果我们重定向到另一个控制器方法,所有初始化变量都会丢失。
答案 1 :(得分:0)
将pp
更改为=
并尝试这样做,
<%= "in the view, the weights are #{@weights}"%>