我想从视图中获取文章ID。
<%= f.text_area :content, rows: 5, placeholder: 'input....', class: 'form-control',
id: "tags", data: {article_id: @article.id } %>
然后将article_id传递给coffeescript:
$ ->
id = $("#tags").data('article_id')
console.log "test-----------#{id}"
$("#tags").autocomplete(
source: '/articles/' + id + '/autocomplete.json')
但输出是:
test-----------undefined
如何将rails数据传递给JS或coffeescript?有多少种方法可以做到?
提前致谢!
as @muistooshort和@JoelL说:data: {article_id: @article.id} will produce data-article-id="xxxx"
html输出:
<textarea rows="5" placeholder="input..." class="form-control" id="tags" data-article-id="{"$oid":"560017ddbd172d16d6000001"}" name="comment[content]">
但是我从浏览器控制台日志中获取了信息:
test----------[object Object]
它不是一个字符串。
答案 0 :(得分:2)
data: {article_id: @article.id}
将生成data-article-id="theid"
以下内容应该有效:
id = $("#tags").data('article-id')
答案 1 :(得分:1)
<强>更新强>
您可以在输入中手动添加,因为{}
中包含data-article-id
:
<%= f.text_area :content, rows: 5, placeholder: 'input....', class: 'form-control', id: "tags", 'data-article-id': @article.id %>
对于Jquery:
尝试attr获取值属性:
id = $("#tags").attr("data-article-id")
console.log "test-----------"+id
对于coffeescript:
id = $("#tags").data("article-id")
console.log "test-----------"+id
答案 2 :(得分:-1)
试试这个
id = $("#tags").data('article_id')
console.log "test-----------"+id