#<Set: {}> 的未定义方法“model_name”
undefined method `model_name' for #<Set: {}>
尽管 SO 上存在一些类似的问题,但我终生无法修复此错误。我设置表单的方式与我在同一个应用程序中设置其他表单的方式相同。我只是想建立一个简单的基本锻炼日志。我以前从未 运行 遇到过这个错误,希望其他人能发现明显的问题
我的集合文件夹中有一个名为 _form.html.erb
的部分
<%= bootstrap_form_for @set do |f| %>
<%=f.text_field :number %>
<%=f.text_field :weight %>
<%=f.text_field :reps %>
<%=f.submit "Enter Set" %>
<% end %>
new.html.erb(似乎渲染良好)
<div class="create-sets">
<%= render 'sets/form' %>
</div>
设置控制器
class SetsController < ApplicationController
def new
@set = Set.new
end
def create
@set = Set.new(set_params)
if @set.save
flash[:notice] = "Set saved"
redirect_to @set
else
redirect_to @set
end
end
def edit
end
def show
end
private
def set_params
params.require(:set).permit(:number, :weight, :reps)
end
end
这看起来很基本并且在过去一直有效,所以我在这里真的很茫然。好像模型集由于某种原因无法正常工作。我也检查了我的迁移,并确保数据库存在以防万一我可能忘记了并且一切似乎都已检查完毕。帮助将不胜感激 here.Thanks
这似乎是您的 Set class 和 ruby 标准库 Set class 之间的命名冲突。最简单的方法是重命名您的 class.
尽管 SO 上存在一些类似的问题,但我终生无法修复此错误。我设置表单的方式与我在同一个应用程序中设置其他表单的方式相同。我只是想建立一个简单的基本锻炼日志。我以前从未 运行 遇到过这个错误,希望其他人能发现明显的问题
我的集合文件夹中有一个名为 _form.html.erb
的部分<%= bootstrap_form_for @set do |f| %>
<%=f.text_field :number %>
<%=f.text_field :weight %>
<%=f.text_field :reps %>
<%=f.submit "Enter Set" %>
<% end %>
new.html.erb(似乎渲染良好)
<div class="create-sets">
<%= render 'sets/form' %>
</div>
设置控制器
class SetsController < ApplicationController
def new
@set = Set.new
end
def create
@set = Set.new(set_params)
if @set.save
flash[:notice] = "Set saved"
redirect_to @set
else
redirect_to @set
end
end
def edit
end
def show
end
private
def set_params
params.require(:set).permit(:number, :weight, :reps)
end
end
这看起来很基本并且在过去一直有效,所以我在这里真的很茫然。好像模型集由于某种原因无法正常工作。我也检查了我的迁移,并确保数据库存在以防万一我可能忘记了并且一切似乎都已检查完毕。帮助将不胜感激 here.Thanks
这似乎是您的 Set class 和 ruby 标准库 Set class 之间的命名冲突。最简单的方法是重命名您的 class.