2013-04-09 27 views
1

我注意到我的rails視圖中,一些視圖使用(助手?)名爲xxx和其他地方使用名爲xxx_tag?在rails中,標籤與label_tag有什麼區別?

任何人都可以概述兩者之間的差異,以及我如何知道在給定情況下使用哪個?

+0

[FormHelper :: label和FormTagHelper :: label \ _tag之間有什麼區別?](https://stackoverflow.com/questions/1010784/what-is-the-difference-between-formhelperlabel-and- formtaghelperlabel-tag) – 2017-07-20 00:23:47

+0

Duplicate - https://stackoverflow.com/questions/19704366/difference-between-rails-label-and-label-tag – 2017-07-20 00:24:17

回答

2

label(及等價物)可以在表單生成器被調用,所以就可以知道模型實例形式的重點是,通過for屬性會自動將其鏈接到相應的(對象調用時form_for產生)輸入,並可能使用I18n翻譯。

label_tag(和等價物)不與表單綁定,用於在更基本的級別生成標籤HTML標記。它不夠聰明,你必須給它所有你想要的屬性,但有時候這就是你需要的。

1

使用f.label當你在用form_for(...) do |f|創建的表單對象中,並且想要引用模型屬性時。如果你的應用程序是國際化的,Rails將使用翻譯來顯示屬性名稱。

當您不在表單對象中時使用label_tag。 (或者你是一個表單對象,但要創建一個非模式屬性的假標籤。)

所有表單輸入有這兩個變種,有和沒有_tag後綴,像selectselect_tag

相關問題