如何在javascript中访问当前rails对象id

dna*_*oli 8 javascript ruby ruby-on-rails ruby-on-rails-3

如果我在视图上,如何访问该视图当前表示的ruby对象的ID?

例如,如果我在谈论blah.com/jobs/1如何获得1?

我考虑过修剪当前的URL,但这似乎太脆弱了,特别是考虑到我有嵌套资源.我能想到的另一个简单方法就是拥有一个隐藏的字段,但在没有任何表格的节目页面上隐藏输入似乎很愚蠢.

mu *_*ort 10

你解析URL是个坏主意,你最好明确地在某处提供它.

您可以将data-job-id属性附加到HTML中的标准元素,甚至可以<body>.然后你的JavaScript可以做这样的事情:

var id;
var $body = $('body');
if(id = $body.data('job-id'))
    // Do some job things.
else if(id = $body('user-id'))
    // Do some user things.
Run Code Online (Sandbox Code Playgroud)

并且你仍然符合HTML5标准,你不必沉溺于隐藏的输入.

<body>当然不必使用,您的HTML可能有一些已知的顶级容器,id因此您可以使用它.