我使用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)
}
答案 0 :(得分:7)
虽然不是OP问题的特定解决方案,但如果您放置
,也会出现此错误 return (
<View style={styles.container}>
<MapView
style={styles.map}
showsUserLocation={true}
followUserLocation={true}
showsCompass={false}
>
</MapView>
</View>
在<script src="<%= static_path(@conn, "/js/app.js") %>"></script>
的错误位置。 (例如在app.html.eex
内,而不是在身体的末尾)
答案 1 :(得分:6)
对于任何其他人来说,我有一个完全不同的问题,以同样的方式表现出来,如果它有所帮助,将放在这里:
事实证明我不小心从app.js文件中删除了import "phoenix_html"
,误将其作为生成的样板文件的一部分,将其添加回来修复了我的问题。
答案 2 :(得分:2)
答案 3 :(得分:1)
我最近遇到了同样的问题,结果发现我不小心从我的<script src="<%= static_path(@conn, "/js/app.js") %>"></script>
文件中删除了layout.html.eex
。添加它可以解决问题。
答案 4 :(得分:0)
对于Phoenix的更高版本,如果您在priv/static/js/app.js
中查看app.js文件,您会注意到引用原始github js文件的链接的注释。这个小小的Javascript片段包含重要的代码,以确保delete
链接帮助程序实际上正常工作。