Rails 4.1:Jobs#name中的NameError

时间:2015-01-02 10:23:39

标签: ruby-on-rails ruby

想要为我的工作板显示不同的工作类别,使用简单的表单gem我已将以下内容添加到我的工作表单中。

_form.html.erb

<%= simple_form_for(@job, html: { class: 'form-horizontal' }) do |f| %>

<%= f.collection_select :category_id, Category.all, :id, :name, {prompt: "Choose a category" }, input_html: { class: "dropdown-toggle" } %>


    <%= f.input :title, label: "Job Title", input_html: { class: "form-control" } %>
    <%= f.input :description, label: "Job Description", input_html: { class: "form-control" } %>
    <%= f.input :company, label: "Your Company", input_html: {class: "form-control" } %>
    <%= f.input :url, label: "Link to Job", input_html: { class: "form-control" } %>
    <br/>
    <div class="form-group">
    <%= f.submit class: "btn btn-primary" %>
  </div>
<% end %>

但是当我去jobs.new.html时会产生以下错误

Jobs#new中的NameError 显示/Users/neilpatel/Desktop/Rails/jobs_board/app/views/jobs/_form.html.erb第3行引发: 未初始化的常量ActionView :: CompiledTemplates :: Category

<%= simple_form_for(@job, html: { class: 'form-horizontal' }) do |f| %>

  **<%= f.collection_select :category_id, Category.all, :id, :name, {prompt: "Choose a category" }, input_html: { class: "dropdown-toggle" } %>** -<error


    <%= f.input :title, label: "Job Title", input_html: { class: "form-control" } %>

1 个答案:

答案 0 :(得分:1)

错误指定您的应用程序中没有Category模型。这就是为什么rails将Category视为常量并抛出此错误uninitialized constant的原因。尝试在Category目录中添加app/models模型。

<%= f.collection_select :category_id, Category.all, :id, :name, {prompt: "Choose a category" }, input_html: { class: "dropdown-toggle" } %>

Category.all应为Modelname.all