0
votes

Want to show different job categories for my jobs board , using the simple form gem I have added the following to my jobs form.

_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 %>

but when i go to jobs.new.html it generates the following error

NameError in Jobs#new Showing /Users/neilpatel/Desktop/Rails/jobs_board/app/views/jobs/_form.html.erb where line #3 raised: uninitialized constant 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

1 Answers

1
votes

Error specifies you don't have Category Model in your application. That's why rails considering Category as constant and throwing this error uninitialized constant. Try add Category Model in you app/models directory.

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

Category.all Should be Modelname.all