未定义的方法`model_name&#39;对于#<set:{} =“”> </set:>

时间:2015-02-16 21:21:36

标签: ruby-on-rails ruby-on-rails-4 form-for nomethoderror

尽管在这里有一些类似的问题我不能为我的生活修复这个错误。我设置表单的方式与我在同一个应用程序中完成其他表单的方式相同。我只是想建立一个简单的基本锻炼日志。我以前从未遇到过这个错误,并希望其他一些人能够发现可能很明显的错误

我在我的sets文件夹中有一个名为_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

这看起来非常基本,过去一直很有效,所以我真的很茫然。它似乎模型集由于某种原因不起作用。我也检查了我的迁移,并确保数据库存在以防万一我可能忘了并且所有似乎都检查了。这里的帮助将不胜感激。谢谢

1 个答案:

答案 0 :(得分:2)

这似乎是您的Set类和ruby标准库Set类之间的命名冲突。最简单的方法是重命名你的课程。