ruby-on-rails - 在 Rails 3 中,link_to_function 消失到哪里去了?

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

我只是在玩 Rails 3 beta 并注意到 link_to_function 现在不见了。我认为有一种替代方法可以实现相同的结果(onclick 事件?),但我想知道是否有更多的 Rails-3'y 方法来做到这一点。 TIA。

最佳答案

Rails 3 似乎已经取消了 Prototype Helper,取而代之的是一种不那么突兀/JS 库不可知的方法。目标是消除所有由 Rails 生成的内联 javascript。 Prototype Helper 生成了几乎所有的 javascript。

现在,任何非远程助手变体都将通过提供 :remote => true 选项为您选择的 JS 库中的远程调用生成正确的 javascript。

不幸的是,这不适用于 x to function 方法。暂时有prototype legacy helpers它们不再是 Rails 的核心部分。

您还可以使用 ActionView::Helpers::PrototypeHelper::JavascriptGenerator::GeneratorMethods 中定义的 call 将 javascript 代码提供给 :onclick 作为 link_to 的 html_option,但这并不完全正确。

例子:

Rails < 3                      | Rails 3
link_to_remote "target", url   | link_to "target", url, :remote => true
form_remote_for @post          | form_for @post, :remote => true

等等....

或者类似的东西。我很难找到官方文件来支持我的声明。所以release notes现在必须要做。

在使用它之前,您需要包含正确的 js 源文件。确保您正在加载prototype.js 和rails.js,或者在它们的位置选择JS 框架的库和驱动程序。

请记住,Rails 3 现在处于测试阶段。但这并不意味着它已经完成了。老实说,我不知道如何替换 link_to_function。它违背了不引人注目的 javascript 的理想。

关于ruby-on-rails - 在 Rails 3 中,link_to_function 消失到哪里去了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2250231/

相关文章:

ruby-on-rails - (React on Rails) 引擎 "node"与此模块不兼容。预期版本 "..."

ruby-on-rails - 如何将Kafka客户端添加到Rails Docker部署中?

ruby-on-rails - 帮助为静态页面创建路由和 Controller

ruby-on-rails - rspec:使用 render_views 从 Controller 规范中 stub 模板的辅助方法调用

jquery - 根据选择框选择显示/隐藏文本字段

ruby-on-rails-3 - Rails cancan load_and_authorize_resource 不工作

javascript - Ruby on Rails - 使用 AJAX 更新输入选择选项

ruby-on-rails - 我如何找到特定的延迟工作(不是通过 id)?

html - 如何使用 Material 设计或自定义 CSS 设置 simple_form 的样式

ruby-on-rails - 如何将应用程序 css 包含到 Rails 3.1 中的邮件程序 View 中