アカウント オブジェクトの「表示」ページから新しい連絡先オブジェクトを作成しようとしています。以下のコードが正しくないことはわかっています。アカウントの「表示」ページにいる場合、そのアカウント ID を新しい連絡先フォームに渡して、そのアカウントに属する新しい連絡先を作成するにはどうすればよいですか?
連絡先はアカウントに属します
アカウントhas_many連絡先
新しい連絡先へのリンクがあるアカウントの「表示」ビュー
<%= link_to "Add Contact", new_account_contact_path(@account), class: 'btn' %>
提案された編集を伴うコントローラーへの連絡 「新規、作成」アクション
class ContactsController < ApplicationController
before_filter :authenticate_user!
before_filter :load_account
respond_to :html, :json
...
def create
@contact = @account.contacts.new(params[:contact])
if @contact.save
redirect_to account_path(params[:account]), notice: "Successfully created Contact."
else
render :new
end
end
def new
@contact = @account.contacts.new
end
...
end
新しいお問い合わせフォーム
<%= simple_form_for(@contact) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :firstname %>
<%= f.input :lastname %>
<%= f.input :email %>
<%= f.input :phone %>
<%= f.input :note %>
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>
エラー
undefined method `contacts_path' for #<#<Class:0x007f86c0c408d0>:0x007f86c0be7488>
Extracted source (around line #1):
1: <%= simple_form_for(@contact) do |f| %>
2: <%= f.error_notification %>
3:
4: <div class="form-inputs">