如果我在一个 View 上,我如何访问当前由该 View 表示的 ruby 对象的 ID?
例如如果我在 blah.com/jobs/1
上,我如何获得 1?
我考虑过 trim 当前的 URL,但这似乎太脆弱了,尤其是考虑到我有嵌套的资源。我能想到的唯一其他简单方法是设置隐藏字段,但在没有任何表单的显示页面上设置隐藏输入似乎很愚蠢。
最佳答案
您说得对,解析 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.
而且您仍然与 HTML5 兼容,并且您不必处理隐藏的输入。
您不必使用 <body>
当然,您的 HTML 可能有一些顶级容器,其中包含已知的 id
。所以你可以改用它。
关于javascript - 如何在javascript中访问当前的rails对象id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9733310/