ポストビュー以外の別のビューにコメントフォームを表示しようとしていますが、エラーが表示されます: {:action => "index"、:controller => "コメント"、:post_idの=> nilの}行方不明に必要なキー:[:post_idの]ポストビュー以外のビューへのコメントフォームのレンダリング
マイモデル:
class Comment < ApplicationRecord
belongs_to :post
belongs_to :user
end
class Post < ApplicationRecord
belongs_to :user
has_many :comments
mount_uploader :image, AvatarUploader
validates :content, presence: true, length: {minimum: 5}
delegate :username, :username=, :email, :email=,:avatar, :avatar=, :to => :user, allow_nil: true
end
class Wall < ApplicationRecord
has_many :post
has_many :users
has_many :comments
delegate :username, :username=,:avatar, :avatar=, :email, :email=, :to => :user, allow_nil: true
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
end
と私はwallcontrollerでレンダリングしています私のフォーム - > index.htmlを。エルブ
<div class="comments">
<%= form_for ([@post, @post.comments.build]) do |f| %>
<%= f.text_area :content, class: 'comments js-auto-size', id: 'alex2' ,:rows => 1 %>
<%= f.submit "Submit", class: "btn btn-default" %>
<% end %>
</div>
UPDATE:
Rails.application.routes.draw do
devise_for :users
resources :uploads
resources :users
resources :walls
resources :posts do
resources :comments
end
root 'walls#index'
end
ポストビューにこのフォームの追加は次のように基本的ですが、私は
このアプリindex.html.erb壁には、このフォームとコメントの両方をレンダリングしたい、何の問題もなく動作しますfacebookなので、すべてが1ページに表示されます。 do
とend
あなたはせずにフォームをレンダリングすることができますので、あなたは、post
オブジェクトを持っている間ので
<% @posts.each do |post| %>
...
<% end %>
...
routes.rbを表示できますか? – SteveTurczyn
投稿にルートを追加しました –