我的问题是,如果我想测试编辑表单,我总是得到这个例外..
你能帮我解决问题吗?
这是错误消息:
undefined method `model_name' for NilClass:Class
Extracted source (around line #5):
2: <div class="row">
3: <div class="box">
4: <span id="logo">Azubiware 2.0</span><br><br>
5: <%= form_for(@bsinfo) do |f| %>
6: <% @basedate = Date.new(@bsinfo.year) %>
7: <% @basedate = @basedate.beginning_of_year %>
8: <% @basedate = @basedate.beginning_of_week %>
我的用户表格与我的表格相同,这可以正常运行...
class BsinfosController < ApplicationController
def index
@title = "Verwaltung Abwesehnheiten"
end
def new
@title = "Sign up"
@bsinfo = Bsinfo.new
end
def show
@bsinfo = Bsinfo.find(params[:id])
@title = @bsinfo.year
end
def create
@bsinfo = Bsinfo.new(params[:bsinfo])
if @bsinfo.save
flash[:success] = "Schedule successfull created"
redirect_to bsinfos_path
else
render 'new'
end
end
def edit
@title = "Settings"
end
def update
if @bsinfo.update_attributes(params[:bsinfo])
flash[:success] = "Profile successfull updated"
redirect_to @bsinfo
else
render 'edit'
end
end
def destroy
Bsinfo.find(params[:id]).destroy
flash[:success] = "Scheduel destroyed"
redirect_to bsinfos_path
end
end
编辑表单的链接就像
<% @bs = Bsinfo.all %>
<% @bs.each do |bsall| %>
<%= link_to "#{bsall.name}", edit_bsinfo_path(bsall), :class => "btn" %>
<% end %>
网址看起来像 本地主机:3000 / bsinfos / 17 /编辑
答案 0 :(得分:0)
您的表单所基于的任何模型都将返回为零。确保表单所基于的控制器中的@var实际上设置为所需对象的实例。
答案 1 :(得分:0)
代码片段:
form_for(@bsinfo)
最有可能产生错误,因为@bsinfo
为零。
我建议您查看控制器代码并检查@bsinfo
可以nil
的条件。