【发布时间】:2018-03-09 11:17:32
【问题描述】:
我想构建一个 for 循环,但出现此错误。
undefined method `each' for nil:NilClass
这是视图的一部分,它给了我错误:
<% @deadlines.each do |deadline| %>
<% if Time.now < deadline.deadline %>
<%= form_for(current_user) do |f| %>
<%= f.hidden_field :enrolled, :value => true %>
<%= f.submit "Anmeldung bestätigen", class: "btn btn-primary" %>
<% end %>
<% end %>
<% end %>
似乎无法识别@deadlines,即使我已经在截止日期文件夹的索引视图中使用了相同的循环。如何在主页视图中使用相同的变量?
非常感谢!
这里是控制器,也许它也给你一些信息:
class DeadlinesController < ApplicationController
before_action :set_deadline, only: [:show, :edit, :update, :destroy]
# GET /deadlines
# GET /deadlines.json
def index
@deadlines = Deadline.all
end
# GET /deadlines/1
# GET /deadlines/1.json
def show
end
# GET /deadlines/new
def new
@deadline = Deadline.new
end
# GET /deadlines/1/edit
def edit
end
# POST /deadlines
# POST /deadlines.json
def create
@deadline = Deadline.new(deadline_params)
respond_to do |format|
if @deadline.save
format.html { redirect_to @deadline, notice: 'Deadline was successfully created.' }
format.json { render :show, status: :created, location: @deadline }
else
format.html { render :new }
format.json { render json: @deadline.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /deadlines/1
# PATCH/PUT /deadlines/1.json
def update
if @deadline.update(deadline_params)
flash[:success] = "Die Deadline wurde erfolgreich aktualisiert."
redirect_to deadlines_path
else
flash[:error] = "Die Deadline wurde nicht aktualisiert."
end
end
# DELETE /deadlines/1
# DELETE /deadlines/1.json
def destroy
@deadline.destroy
respond_to do |format|
format.html { redirect_to deadlines_url, notice: 'Deadline was successfully destroyed.' }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_deadline
@deadline = Deadline.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def deadline_params
params.require(:deadline).permit(:deadline)
end
end
【问题讨论】:
-
主页查看操作在哪里?索引和主页是一样的吗?
-
您遇到错误的文件的名称是什么?你能分享你在rails控制台中得到的日志吗?
标签: ruby-on-rails for-loop error-handling