我得到了这个错误:
显示/Users/nelsonkeating/Desktop/imright/app/views/users/new.html.erb在第4行出现的位置:
NilClass的未定义方法`model_name:类提取的源代码(在第4行附近):
4: <%= form_for(@user) do |f| %>
5: <div class="field">
6: <%= f.label :name %><br />
7: <%= f.text_field :name %>我要怎么做才能解决这个问题呢?
发布于 2011-04-06 02:56:28
那么@user就不存在了(查看错误,因为它说它是一个NilClass)。
您可以选择执行以下操作:
form_for(User.new) do |f|或者在控制器中设置@user;
class UsersController
def new
@user = User.new
new
end我建议使用后者,因为MVC的经验法则是不将模型调用放在视图中。
发布于 2011-09-14 14:05:09
尝试查看页面<%= form_for @user,:url=> {:action =>"create"}在控制器中执行|f| %>定义<%= @user = User.new end
def create
@user = User.new(params[:user])
if @user.save
flash[:notice] = "Registration successful."
redirect_to(:controller =>"user_sessions", :action =>"new")
else
render :action => 'new'
end
end发布于 2011-04-06 02:58:24
这表明@user为nil。也许您在控制器中将变量名从@user更改为其他名称,并且忘记在视图中更改它?也许这个视图是在错误后的创建或更新操作中呈现的,并且变量在这些操作中除了@user之外还被称为其他名称?
https://stackoverflow.com/questions/5556979
复制相似问题