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

标签 javascript ruby-on-rails ruby ruby-on-rails-3

如果我在一个 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/

相关文章:

python - 如何将 Ruby 模块移植到 Python

javascript - ie8 respond.js 'undefined' 为空或不是对象

c# - Webdriver 无法单击带有证书错误页面的弹出窗口

javascript - 我如何分析 JS 中 setTimeout 函数的存在

ruby-on-rails - using 和有什么不一样?和 % 在清理 ActiveRecord 中的字段时?

ruby - 使用正则表达式查找多个开始和结束标记之间的内容

ruby-on-rails - 如何在公共(public)事件中设置收件人ID

javascript - 我想根据属性键值对从对象返回的项目进行排序,然后为界面中的每个项目分配排名(1,2,3...等)

jquery - 带 Rails 的 DataTable 无法提交多页项目

ruby-on-rails - heroku/memcache 和 dalli 的奇怪缓存问题