2 つのモデルがあります:User
コメントを行う (Devise が提供する) とAudio
、彼らがコメントする です。各audios#show
ページには、そのオーディオのすべてのコメントを一覧表示し、別のコメントを送信するための小さなフォームを用意する必要があります。
作りましたAudio
acts_as_commentable
。それから私は確認しましたComment belongs_to :user
、そしてUser
has_many :comments
。
ルートについては、私は持っています
resources :audios do
resources :comments
end
次に、audios_controller で、
def show
if user_signed_in?
@comment = @audio.comments.new
end
end
form_for(@comment)
次に、「コメント」フィールドと送信ボタンを備えた簡単なフォームを作成しました。それでおしまい。
ページの読み込み時に発生するエラーは、未定義のメソッド 'comments_path'です。このエラーをググって、StackOverflow の応答を読み、form_for(@audio, @comment)
代わりに試してみました。これにより、**不明な属性 'html' を書き込めません** というエラーが発生します。
私は少し困惑しています。モデルと関係をメモ帳にスケッチしましたが、経験が浅く、舞台裏での Devise など、完全には理解していないものを使用すると、ループに陥ります。誰かがこれらのルート/フォームに関するヒントをくれたら、私はそれが大好きです.