Rails 5.1控制器操作实例变量未出现在视图中

时间:2017-10-17 16:17:53

标签: ruby-on-rails

这很奇怪,我必须错过一些东西,因为我已经做了一百万次,这是我第一次看到这个。

Vanilla创建控制器操作:

<p id="notice"><%= notice %></p>

<p>
  <strong>Title:</strong>
  <%= @album.title %>
</p>

<%= link_to 'Edit', edit_album_path(@album) %> |
<%= link_to 'Back', albums_path %>

成功创作专辑后的香草视图:

{{1}}

我通过调试检查了在创建相册后,正确设置了@album。我还设置了第二个实例变量@foo = 100.但是在任何情况下,当渲染视图时,两个实例变量都是nil,我得到这个错误(见图片,这是最简单的方法)

enter image description here

1 个答案:

答案 0 :(得分:2)

如果查看请求参数部分,您将看到:

{ "controller" => "albums", "action" => "show", "id" => "20" }

错误来自呈现show操作,而不是create操作。

正在发生的事情是,在您创建@album后,它正在执行redirect_to show操作。

可能未定义show操作,并且未设置@album实例变量