Rails - 实例变量不保留值

时间:2015-05-25 14:18:11

标签: ruby-on-rails model-view-controller

我有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}"%>

为什么会这样?

2 个答案:

答案 0 :(得分:1)

在format.html阻止时,您将重定向到其他控制器。

如果我们重定向到另一个控制器方法,所有初始化变量都会丢失。

答案 1 :(得分:0)

pp更改为=并尝试这样做,

<%= "in the view, the weights are #{@weights}"%>