javascript - Rails 3 - "link_to_function"方法的状态

标签 javascript ruby-on-rails

在寻找 javascript 问题的解决方案时,我看到了关于 link_to_function 在 Rails 3 中被弃用的多条评论。但是,我已经能够完成我基于 Rails-3 的部分使用 link_to_function 的项目。它工作正常。

作为 Rails 的新手,我担心我可能会使用一些不会得到长期支持的东西,或者可能成为遗留问题。在查看 api.rubyonrails.org 时,我看到 link_to_function 在 ActionView::Helpers::JavaScriptHelper 模块中明确调用,作为 Ruby on Rails v3.0.4 支持的公共(public)方法。没有关于函数生命周期的警告或其他声明。

在 Rails 3 中,我应该使用其他方法来代替 link_to_function 吗?或者 link_to_function 可以使用吗?

谢谢。

最佳答案

link_to_function 助手已经是 deprecated again in 3.2.4 .

在某些需要调用特定 javascript 函数等的用例中,该方法本身非常简单且很好。您可以轻松添加自己的帮助程序来实现相同的功能。以下代码是从 Jeremy 复制的 https://github.com/rails/rails/pull/5922#issuecomment-5770442

# /app/helpers/link_to_function_helper.rb
module LinkToFunctionHelper
  def link_to_function(name, *args, &block)
     html_options = args.extract_options!.symbolize_keys

     function = block_given? ? update_page(&block) : args[0] || ''
     onclick = "#{"#{html_options[:onclick]}; " if html_options[:onclick]}#{function}; return false;"
     href = html_options[:href] || '#'

     content_tag(:a, name, html_options.merge(:href => href, :onclick => onclick))
  end
end

关于javascript - Rails 3 - "link_to_function"方法的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5063246/

相关文章:

javascript - Google Analytics 无法正确跟踪事件

javascript - 在 Dev 环境中加快 Rails 在整页加载时加载 Backbone Javascript Assets 的方法?

javascript - Rails 服务器因多次 js 调用而崩溃

ruby-on-rails - 我如何找到 Ruby 中的标准偏差?

javascript - 如何绑定(bind)到 Mercury 上保存的事件?

javascript - 下载属性在 Firefox 中不起作用,但在 chrome 中起作用

javascript - Facebook javascript sdk 如何使用新版本 api 获取好友

mysql - navicat 创建数据库时出错

javascript - Base64 数据;我应该在实际的 base64 之前包含 "data:xxx"吗?

javascript - 根据日期更改链接