Я использую Foundation и Rails (я не знаю, почему, но я думаю, что проблема в фундаменте). Когда я создаю новый комментарий для статьи, в первой статье у меня есть один комментарий за клик, как и должно быть, но если я перейду к другой статье - она создаст два похожих комментария, перейдите к другой статье, и я получаю 4 комментария, затем 7 и так далее. Я думаю, что проблема в Foundation, потому что она отображает ошибки в браузере:Создание элементов с помощью ajax force rails для создания дополнительных элементов в DB
Ошибка при отсутствии: jquery-ujs уже загружен! и
Object [объект Object] не имеет метода 'фундамент'
Скажите, пожалуйста, как я могу решить эту проблему
моя модель:
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"
Спасибо, я уже прочитал это сообщение. Но моя проблема в том, что у меня нет файлов Jquery в моих каталогах проектов (rails 4). Так что я не знаю, откуда я должен их удалить – FastIndian
Посмотрите в свой файл application.js, rails включает jQuery по умолчанию – lemonginger
thx для ответа, я решил это удалить jquery из файла манифеста и включить его на странице перед началом работы. – FastIndian