Удалить ссылку не работает phoenix

Я использовал Phoenix, созданный в gen.HTML, для создания простого представления, но он не работает

<%= link "Delete", to: event_path(@conn, :delete, event), method: :delete, data: [confirm: "Are you sure?"], class: "btn btn-danger btn-xs" %>

И на странице он выглядит так, как предполагается, но просто добавляет # к адресу

Сгенерированная структура:

<form action="/event/1" class="link" method="post">
   <input name="_method" type="hidden" value="delete">
   <input name="_csrf_token" type="hidden" value="BwUSGQcDO1MwPzw0HBgqLnshHn8HNgAAnCTjuMt0viFshobX4XM/dQ==">
   <a class="btn btn-danger btn-xs" data-confirm="Are you sure?" data-submit="parent" href="#">Delete</a>
</form>

Мне не удалось импортировать js-сортировку? Я также могу загрузить этот браузер:

//This is being downloaded as phoenix_html.js
// Although ^=parent is not technically correct,
// we need to use it in order to get IE8 support.
var elements = document.querySelectorAll('[data-submit^=parent]')
var len = elements.length

for (var i=0; i<len; ++i) {
  elements[i].addEventListener('click', function(event){
    var message = this.getAttribute("data-confirm")
    if(message === null || confirm(message)){
      this.parentNode.submit()
    };
    event.preventDefault()
    return false
  }, false)
}

Ответ 1

Изменить: это, как известно, проблема. Вот исправление:

In brunch-config.js
autoRequire: {
  "js\\app.js": ["web/static/js/app"]
}

Источник

Ответ 2

В то время как не конкретное решение проблемы с OP, эта ошибка также может возникнуть, если вы разместите

<script src="<%= static_path(@conn, "/js/app.js") %>"></script>

в неправильном месте в app.html.eex. (Например, внутри <head>, а не в конце тела)

Ответ 3

Для кого-то другого, у кого это было, у меня была совершенно другая проблема, которая проявилась в том же духе, выйдет здесь, если это поможет:

Оказывается, я случайно удалил import "phoenix_html" из файла app.js, приняв его за то, что он является частью сгенерированного шаблона, добавив его обратно, исправил мою проблему.

Ответ 4

Недавно у меня была такая же проблема, оказалось, что я случайно удалил <script src="<%= static_path(@conn, "/js/app.js") %>"></script> из моего файла layout.html.eex. Добавив его, исправленная проблема.

Ответ 5

Для более поздних версий Phoenix, если вы просмотрите файл app.js в priv/static/js/app.js, вы увидите комментарий, который ссылается на ссылку на исходный файл github js. Этот небольшой фрагмент Javascript содержит важный код, гарантирующий правильную работу хедлайнеров delete.