【发布时间】:2016-04-25 12:44:01
【问题描述】:
因此,我们目前正在为一位重要客户开发一个网站,但我们遇到了阻碍进一步发展的障碍。我们正在处理数据库表之间的关系,其中一个表无法识别上述命名方法。代码如下:
organizers_controller.rb:
# GET /organizers.json
def index
@organizers = Organizer.all
end
# GET /organizers/1
# GET /organizers/1.json
def show
end
# GET /organizers/new
def new
@organizer = Organizer.new
end
# GET /organizers/1/edit
def edit
end
# POST /organizers
# POST /organizers.json
def create
@organizer = Organizer.new(organizer_params)
respond_to do |format|
if @organizer.save
format.html { redirect_to @organizer, notice: 'Organizer was successfully created.' }
format.json { render :show, status: :created, location: @organizer }
else
format.html { render :new }
format.json { render json: @organizer.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /organizers/1
# PATCH/PUT /organizers/1.json
def update
respond_to do |format|
if @organizer.update(organizer_params)
format.html { redirect_to @organizer, notice: 'Organizer was successfully updated.' }
format.json { render :show, status: :ok, location: @organizer }
else
format.html { render :edit }
format.json { render json: @organizer.errors, status: :unprocessable_entity }
end
end
end
# DELETE /organizers/1
# DELETE /organizers/1.json
def destroy
@organizer.destroy
respond_to do |format|
format.html { redirect_to organizers_url, notice: 'Organizer was successfully destroyed.' }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_organizer
@organizer = Organizer.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def organizer_params
params.require(:organizer).permit(:name)
end
end
show.html.erb:
<p id="notice"><%= notice %></p>
<p>
<strong>Title:</strong>
<%= @event.title %>
<strong>Organization</strong>
<%= @organizer.name %>
</p>
<%= link_to 'Edit', edit_event_path(@event) %> |
<%= link_to 'Back', events_path %>
相关错误:
undefined method `name' for nil:NilClass
请原谅间距问题,代码没有很好地转换为代码块
【问题讨论】:
-
@organizer为 nil,因此您收到此错误。 -
您确定错误信息正确吗?我宁愿期待“未定义的方法
title”,因为您似乎设置了@organizer实例变量,但未设置@event实例变量。 -
从哪里获得@event。
-
请显示调用 set_organizer 的位置。这可能是问题的根源。它应该在文件的顶部
标签: ruby-on-rails many-to-many