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

Ruby on rails Rails 5.1控制器操作实例变量未出现在视图中,ruby-on-rails,Ruby On Rails,这很奇怪,我一定是错过了什么,因为我已经做了一百万次了,这是我第一次看到这个 创建控制器操作: def create @album = Album.new(album_params) respond_to do |format| if @album.save format.html { redirect_to @album, notice: 'Album was successfully created.' } format.js

这很奇怪,我一定是错过了什么,因为我已经做了一百万次了,这是我第一次看到这个

创建控制器操作:

  def create
    @album = Album.new(album_params)

    respond_to do |format|
      if @album.save
        format.html { redirect_to @album, notice: 'Album was successfully created.' }
        format.json { render :show, status: :created, location: @album }
      else
        format.html { render :new }
        format.json { render json: @album.errors, status: :unprocessable_entity }
      end
    end
  end

  def album_params
    params.require(:album).permit(:title)
  end
以及成功创建相册后的普通视图:

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

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

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

标题:

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


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

{ "controller" => "albums", "action" => "show", "id" => "20" }
错误来自于呈现
show
操作,而不是
create
操作

所发生的情况是,在您创建
@album
之后,它正在执行
重定向到
显示
操作


show
操作可能未定义,并且未设置
@album
实例变量。如果查看请求参数部分,您将看到:

{ "controller" => "albums", "action" => "show", "id" => "20" }
错误来自于呈现
show
操作,而不是
create
操作

所发生的情况是,在您创建
@album
之后,它正在执行
重定向到
显示
操作


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

显示控制器显示操作。显示控制器显示操作。感谢对哑错误的友好(见上文)响应:)感谢对哑错误的友好(见上文)响应:)