Q
添加表單輔助方法
5
A
回答
6
產生到form_for
的對象是ActionView::Helpers::FormBuilder
的實例。所以你所要做的就是在那裏添加實例方法。
class ActionView::Helpers::FormBuilder
def custom_field(...)
...
end
end
1
一些研究,我發現,這個工程後:
class ActionView::Helpers::FormBuilder
def nice_editor(conf)
#stuff to draw the editor
end
end
「的conf」本來一切從傳遞給它的符號選項視圖。它適用於f。
9
問題的一部分是:你在哪裏把nice_editor代碼?我不認爲在你的安裝中直接編輯ActionView :: Helpers :: FormBuilder是個好主意。相反,把你的代碼放在app/helpers中的一個文件中。有幾種方法可以將擴展方法添加到FormBuilder。
舉例來說,假設你有一個輔助文件items_helper.rb:
module ItemsHelper
# this is one way to define new instance methods
ActionView::Helpers::FormBuilder.class_eval do
def nice_editor(conf,*opts)
...
end
end
end
而且,看到這個good discussion,它展示瞭如何使用self.included()來擴展FormBuilder。
相關問題
- 1. 添加輔助方法和寶石
- 2. Magento:如何添加輔助菜單?
- 3. 有沒有辦法添加輔助outerLayout?
- 4. 在圖表中添加輔助軸
- 5. 單獨的導軌輔助方法
- 6. 添加輔助導航粘
- 7. rspec - 添加輔助模塊?
- 8. 我在哪裏可以爲ActionMailer視圖添加輔助方法?
- 9. 添加標籤,用於輔助方法,特定的文本
- 10. 如何在此輔助方法中添加條件?
- 11. 「第一」的輔助方法
- 12. 斷言輔助方法
- 13. 關於輔助方法?
- 14. 輔助排序List.Sort方法
- 15. 從一個輔助方法
- 16. 擴展PHP輔助方法
- 17. 使用rails輔助方法
- 18. 嵌套域輔助方法
- 19. CakePHP的2表單輔助
- 20. CodeIgniter的表單輔助
- 21. 單鏈表添加方法
- 22. 如何從另一個輔助方法中調用Rails輔助方法?
- 23. 添加HTML輔助使用jQuery(剃刀)
- 24. 添加輔助Windows電話8磁貼
- 25. 向WordPress重寫添加輔助根URL
- 26. Active Directory - 向人員添加輔助類
- 27. 在右側添加輔助軸
- 28. 將輔助模塊添加到Rspec
- 29. Dijkstra算法輔助
- 30. 添加jQuery焦點和模糊菜單的輔助功能
你能提供一些更具體的細節嗎?你想在「form_for @foo do | f |」中做「f.nice_editor:foo」之類的東西嗎?塊? – Eli 2010-01-24 18:24:31
是的,那就是即將發生的事情。 – Arcath 2010-01-24 18:25:52