Я пытаюсь сделать свое приложение CRM и не могу понять, где сломанная часть. При попытке создать новый контакт по ссылке '/ companies/1/contacts/new' получил 'NoMethodError in Contacts # new'.Rails form_for NoMethodError - не может найти, где сломанный путь
Снимок экрана прилагается, см. Код ниже. Пожалуйста, помогите найти ошибку ..
route.rb является:
Rails.application.routes.draw do
resources :companies do
resources :contacts do
member do
post :new
end
end
end
root 'companies#index'
end
Контакты Контроллер:
class ContactsController < ApplicationController
before_action :set_company
def index
@contacts = Contact.where(company_id: params[:company_id])
end
def new; @contact = @company.contacts.new; end
def create
@contact = @company.contacts.create(contact_params)
@contact.save ? redirect_to @company : render :new
end
private
def set_company; @company = Company.find(params[:company_id]); end
def contact_params
params.require(:contact).permit(:name, :position, :phone, :email)
end
end
Вид: new.html.erb:
<%= render 'form' %>
<%= link_to 'Back', company_contacts_path %>
Форма помощник:
<%= form_for(@contact) do |f| %>
<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>