我只是在玩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. Nodester.com消失了嗎?
- 3. MvxCachingFragmentCompatActivity消失了嗎?
- 4. THREE.CSS3DRenderer消失了嗎?
- 5. has_and_belongs_to_many反射在Rails 4.1.0中消失了嗎?
- 6. EventDispatcher.initialize從AS3消失了嗎?
- 7. Monotouch 5 XIB.CS消失了嗎?
- 8. Mongo Ruby:connecttimeoutms消失了嗎?
- 9. PayPal IPN - option_selection消失了嗎?
- 10. ElasticClient.MapRaw和.CreateIndexRaw消失了嗎?
- 11. url_for Rails 3與Rails 2改變了嗎?
- 12. rails link_to_function文件下載
- 13. GridAdaptedFeatureDetector從OpenCV 3.1中消失了嗎?
- 14. LucenePDFDocument從pdfbox中消失了嗎?
- 15. 圖像在div上消失了嗎?
- 16. NotifyIcon在Me.Hide上消失了嗎?
- 17. 布爾在json_decode之後消失了嗎?
- 18. 行在數據表上消失了嗎?
- 19. Rails,我的樣式表奇蹟般的消失了嗎?
- 20. UINavigationController的後退按鈕消失了嗎?
- 21. GNAT GPL 2017 gnatcoll.xref消失了嗎?
- 22. RowDefinition MinSize屬性消失了嗎?
- 23. .net 4使得.ASPXAUTH cookie消失了嗎?
- 24. IKSlideshow的IKSlideshowModeQuickLook模式消失了嗎?
- 25. cv :: adaptiveBilateralFilter已經消失了嗎?
- 26. mediaelementjs玩家的按鈕消失了嗎?
- 27. SQLite數據庫插入消失了嗎?
- 28. 主要活動消失了嗎? Android
- 29. PHP Singleton對象消失了嗎?
- 30. Android谷歌地圖myLocationOverlay消失了嗎?
對於任何人誰通過谷歌發現這一點,應該指出的是,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