使用:
<%= f.label :registration,"Registration" %>
ラベルを作成します:
<label for="cad_registration">Registration</label>
私はそれがこのようなスパンになりたいです:
<span for="cad_registration">Registration</span>
使用:
<%= f.label :registration,"Registration" %>
ラベルを作成します:
<label for="cad_registration">Registration</label>
私はそれがこのようなスパンになりたいです:
<span for="cad_registration">Registration</span>
この<span>
要素は-属性をサポートしていませんfor
。したがって、の<span>
代わりに-elementを使用し<label>
ても意味がありません。
<label>
(CSS)スタイルを使用して、目的の結果にスタイルを設定しないのはなぜですか?id
この特定の要素のスタイルを設定するだけの場合は、-attributeを使用します。
たとえば、次のようなものを使用して、ラベルのテキストを赤にします。
ERB:
<%= f.label :registration,"Registration", :html => { :id => "my-label" } %>
CSS:
#my-label {
text-color: red;
}
カスタムフォームビルダーを使用して、フォームラベルが要件に合わせて出力される方法を変更できます。ここに簡単な概要があります-http://code.alexreisner.com/articles/form-builders-in- rails.html。このトピックに関するRailscastもありますが、これはより徹底的ですが、プロ(有料)エピソードです。
label
その場合、ラベルを作成するのではなく、ヘルパーを使用しないでください。属性は要素for
に存在しません。<span>
あなたのコードをあなたが書いた一番下の行に置き換えますが、for
:はありません
<span>Registration</span>
私は次の解決策を考え出し、レールを拡張しましたFormBuilder
アプリケーションヘルパーで
module ApplicationHelper
class TestFormBuilder < ActionView::Helpers::FormBuilder
include ActionView::Helpers::TagHelper
def span(name, options = {})
css_classes = []
css_classes = options[:class].to_s if options[:class]
content_tag('span', name, :class => css_classes.join(' '))
end
end
end
そしてあなたの見解ではあなたは使うことができます
<%= form_for @<module>, :builder => ApplicationHelper::TestFormBuilder do |f| %>
#your code
<%= f.span(:name) %>
<% end %>
これは機能し、FormBuilderの拡張を考えさせられた質問に感謝します;)、
これらのリンクは、link1、link2に役立ちました。さらに、いくつかの変更を加えることをお勧めします。
HTH
ルビーの外側のスパンを書き留めるだけです
<span for=<%= :registration %>><%="Registration"%></span>