2013-10-06 1 views
0

Я использую 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" 

ответ

0

Вы, вероятно, загружаются два копии jq вызвав обе эти ошибки. Фонд включает в себя собственную копию jQuery по умолчанию. Просто удалите один из них, и он должен проясниться.

См. Также: https://github.com/zurb/foundation/issues/2125

+0

Спасибо, я уже прочитал это сообщение. Но моя проблема в том, что у меня нет файлов Jquery в моих каталогах проектов (rails 4). Так что я не знаю, откуда я должен их удалить – FastIndian

+0

Посмотрите в свой файл application.js, rails включает jQuery по умолчанию – lemonginger

+0

thx для ответа, я решил это удалить jquery из файла манифеста и включить его на странице перед началом работы. – FastIndian

Смежные вопросы