MJa*_*Jay 12 elixir phoenix-framework
我使用Phoenix内置的gen.HTML生成一个简单的视图,但它不起作用
<%= link "Delete", to: event_path(@conn, :delete, event), method: :delete, data: [confirm: "Are you sure?"], class: "btn btn-danger btn-xs" %>
Run Code Online (Sandbox Code Playgroud)
在页面上它看起来像是假设,但它只是附加#到地址
生成结构:
<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>
Run Code Online (Sandbox Code Playgroud)
我错过了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)
}
Run Code Online (Sandbox Code Playgroud)
虽然不是OP问题的特定解决方案,但如果放置,也会出现此错误
<script src="<%= static_path(@conn, "/js/app.js") %>"></script>
在错误的地方app.html.eex.(例如在内部<head>而不是在身体的末端)
小智 6
对于遇到此问题的其他人,我有一个完全不同的问题,同样以相同的方式表现出来,如果有帮助,请将其放在此处:
事实证明,我不小心import "phoenix_html"从app.js文件中删除了误将其误认为是生成的样板的一部分,然后又重新添加进来解决了我的问题。
编辑:这恰好是已知问题。这是修复方法:
In brunch-config.js
autoRequire: {
"js\\app.js": ["web/static/js/app"]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4259 次 |
| 最近记录: |