我只是在玩Rails 3测试版,并注意到link_to_function现在不见了。我猜想有一种实现相同结果的替代方法(onclick事件?),但我想知道是否有更多的Rails-3的方法来做到这一点。 TIA。link_to_function在Rails 3中消失了吗?
回答
Rails 3似乎已经取消了Prototype Helper而转而采用了不太显眼的/ JS库不可知的方法。目标是消除由Rails生成的所有内联JavaScript。 Prototype Helper生成了几乎所有的javascript。
现在,只要提供:remote => true选项,任何helpers的非远程变体都将在您选择的JS库中为远程调用生成适当的javascript。
不幸的是,这并不适用于x函数方法。目前有prototype legacy helpers,它们不再是Rails的核心部分。
您也可以使用ActionView :: Helpers :: PrototypeHelper :: JavascriptGenerator :: GeneratorMethods中定义的调用来将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的理想。
要回答我的问题,似乎这个作品,是足以让我需要什么:
link_to "name", nil, :onlick => "alert('Hello, world!')"
该解决方案的问题是完全突兀。我会建议你玩jQuery或原型+低亲。 – 2010-02-12 11:16:30
我不认为这是“完全”突兀的,只要你从onclick =“”调用一个处理程序,而不是在那里实现它。整个UJS的东西还没有成熟,甚至它的创作者也不同意推荐的东西(见http://weblog.jamisbuck.org/2010/3/2/unobtrusive-yet-explicit包括评论)。 – Matt 2010-10-06 14:38:05
link_to_remote可以这样
的link_to “目标” 来完成,:远程=>真
,并做了ajax开机自检/让你有
的link_to “目标”,{:控制器=> 控制器:操作=>方法,},:远程=>真
在轨道2是这样
link_to_remote“目标”:URL => {:控制器=>控制器:动作=> 方法,}:远程 =>真
- 1. django.utils.translation.trans_real.templatize消失了吗?
- 2. THREE.CSS3DRenderer消失了吗?
- 3. EventDispatcher.initialize从AS3消失了吗?
- 4. Monotouch 5 XIB.CS消失了吗?
- 5. PayPal IPN - option_selection消失了吗?
- 6. url_for Rails 3与Rails 2改变了吗?
- 7. GridAdaptedFeatureDetector从OpenCV 3.1中消失了吗?
- 8. LucenePDFDocument从pdfbox中消失了吗?
- 9. rails link_to_function文件下载
- 10. Rails,我的样式表奇迹般的消失了吗?
- 11. UINavigationController的后退按钮消失了吗?
- 12. GNAT GPL 2017 gnatcoll.xref消失了吗?
- 13. RowDefinition MinSize属性消失了吗?
- 14. IKSlideshow的IKSlideshowModeQuickLook模式消失了吗?
- 15. 主要活动消失了吗? Android
- 16. 自定义UISlider图像消失了吗?
- 17. .NET 4.0中的Array.Sort()发生了什么? TrySZSort()消失了吗?
- 18. Mscorcfg.msc消失了!
- 19. 如何替换rails的link_to_function 4.1
- 20. 函数原型在Ember 2中消失了吗?
- 21. 参数在方法中间消失了吗?
- 22. 清洁数据在Django 1.11中消失了吗?
- 23. “模拟接口”在Xcode 6.0.1中消失了吗?
- 24. 删除的类在xcode 4.2中消失了吗?
- 25. 在tableview中滚动后,UITextField和UITextView消失了吗?
- 26. 在ExtJs4中重新配置网格列 - SelModel消失了吗?
- 27. rails 3 json编码在javascript中消费
- 28. phpmyadmin mysql消失了
- 29. Swing gui消失了
- 30. Rails Ajax Div消失
对于任何人谁通过谷歌发现这一点,应该指出的是,link_to_function既在莱ls 3和NOT弃用。请参阅https:// github。com/rails/rails /提交/ d69e561或答案在这里:http://stackoverflow.com/questions/5063246/rails-3-status-of-link-to-function-method – noel 2012-05-03 16:14:56