2012-06-13 3 views
3

Так что я возился с несколькими обработчиками javascript для нескольких действий. Так, например,Rails, CoffeeScript и ERB

def create 
    #code omitted 
    respond_to do |format| 
    if @post.save 
     format.html { redirect_to discussion_posts_path(@post.discussion), notice: 'Post was successfully created.' } 
     format.js 
    else 
     format.html { render :action => "new" } 
    end 
    end 
end 

#create.js.erb 
$("#discussion_posts_table").append("<%= escape_javascript(render(@post)) %>"); 
$("#post_body").val(""); 

Теперь позволяет сказать, что я хотел бы преобразовать эти JavaScript функции CoffeeScript (оставляя в стороне тот факт, что она не получит почти ничего), если изменить файл create.js.coffee.erb он перестает работать. Каков правильный способ использования coffeescript в UJS?

Для записи у меня есть coffee-rails в моем Gemfile, и я использую coffeescript в конвейере активов.

ответ

3

Я видел. Coffee.erb, используемый раньше. Все еще смотрю на этот проект.

Хорошо, если они все еще в ваших взглядах, просто использовать .js.coffee

Edit 1: Видимо Rails по-прежнему обрабатывать Еврорадио как ни странно. Редактирование 2: Кроме того, вы можете добавить erb в конец js.coffee-файла, это jsut, предварительно обработанный в определенном порядке, таким образом, который мог бы сбросить Rails.

+0

Huh. Это интересно. Он все еще обрабатывает erb без расширения .erb. Но теперь он представляет форму дважды. Хм. – DVG

0

Для этого вам необходимо добавить жемчужину coffee-rails.

+0

У меня есть драгоценный камень с кофе-рельсами. Coffeescript работает в конвейере активов, только не на уровне обзора – DVG

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