私はFoundationとRailsを使用しています(理由はわかりませんが、Foundationに問題があると思います)。記事の新しいコメントを作成するとき、最初の記事ではクリックごとに 1 つのコメントが必要ですが、別の記事に移動すると、2 つの同様のコメントが作成され、別の記事に移動すると 4 つのコメントが表示され、次に 7 つのコメントが表示されます。等々。ブラウザでエラーをレンダリングするため、Foundation の問題だと思います。
キャッチされないエラー: jquery-ujs は既に読み込まれています! と
オブジェクト [object Object] にはメソッド 'foundation' がありません
この問題を解決するにはどうすればよいか教えてください
私のモデル:
class Comment
include Mongoid::Document
include Mongoid::Timestamps
belongs_to :commentable, polymorphic: true
has_many :answers, as: :commentable, class_name: "Comment"
default_scope queryable.order_by(:created_at.asc)
field :body, type: String
validates_presence_of :body
end
私のコントローラーアクション:
def create
@comment = @commentable.comments.new(params_comment)
if @comment.save
flash.now[:notice] = "..."
@response = {comment: @comment, model: @commentable}
respond_with(@comment) { @response }
else
flash.now[:alert] = "..."
respond_with(@comment)
end
終わり
私の create.js.coffee
$("<%= escape_javascript( render 'shared/comment', @response)%>").appendTo(".comments").hide().fadeIn(500)
そして私の見解:
.comments
=render "comment"
私の部分:
.comment{ id: "comment-#{comment.id}"}
= image_tag("delete/brian.jpg", class: "avatar")
.comment-author
=Faker::Name.name
%time.comment-date= l comment.created_at
.comment-text
= comment.body
-if comment.answers.any?
.answers
-comment.answers.each do |answer|
.comments-answer
=image_tag('delete/brian.jpg',class: "avatar")
.comment-author
=Faker::Name.name
%time.comment-date= l(answer.created_at)
.comment-text= answer.body
= form_for([comment, Answer.new]) do |f|
= f.text_area :body, rows: 8
= f.submit
.wrapper
= link_to 'Destroy', [model, comment], method: :delete, remote: true,class: "euro"
%hr
形:
#comment_form
= form_for([@article, @comment],:remote => true) do |f|
= f.text_area :body, rows: 8
= f.submit "Написать", class: "button small round"