복붙노트

[RUBY-ON-RAILS] 사용 HTML5 데이터에 가장 좋은 방법은 레일 content_tag 도우미와 속성?

RUBY-ON-RAILS

사용 HTML5 데이터에 가장 좋은 방법은 레일 content_tag 도우미와 속성?

문제는, 물론, 루비 기호는 하이픈처럼하지 않는 것입니다. 이런 일이 분명히 작동하지 않습니다 그래서 :

content_tag(:div, "Some Text", :id => "foo", :data-data_attr => some_variable)

하나의 옵션은 기호가 아닌 문자열을 사용하는 것입니다 :

content_tag(:div, "Some Text", :id => "foo", 'data-data_attr' => some_variable)

아니면 그냥 보간 수 :

"<div id='foo' data-data_attr='#{some_variable}'>Some Text</div>".html_safe

나는 나중에 선호 그렇다고하지만, 모두가 좀 심한 것 같다. 더 좋은 방법의 사람을 알아?

해결법

  1. ==============================

    1.내장의 도우미와 3.1 배를 레일 :

    내장의 도우미와 3.1 배를 레일 :

    http://api.rubyonrails.org/classes/ActionView/Helpers/TagHelper.html#method-i-tag

    EG,

    tag("div", :data => {:name => 'Stephen', :city_state => %w(Chicago IL)})
    # => <div data-name="Stephen" data-city-state="[&quot;Chicago&quot;,&quot;IL&quot;]" />
    
  2. ==============================

    2.당신은 기호 따옴표를 사용하여 시도 적이 있습니까? 뭔가 같은 :

    당신은 기호 따옴표를 사용하여 시도 적이 있습니까? 뭔가 같은 :

    :"data-foo" => :bar
    
  3. ==============================

    3.도우미는 나쁜 생각은 아니지만 기본적으로 나 구문에 대한 fusy되고 있는지에 대한 잔인한 조금 보인다. 내가 바라던 어떤 레일에 내장 아무것도 가정합니다. 난 그냥이를 사용합니다 :

    도우미는 나쁜 생각은 아니지만 기본적으로 나 구문에 대한 fusy되고 있는지에 대한 잔인한 조금 보인다. 내가 바라던 어떤 레일에 내장 아무것도 가정합니다. 난 그냥이를 사용합니다 :

    content_tag(:div, "Some Text", :id => "foo", 'data-data_attr' => some_variable)
    
  4. ==============================

    4.JQuery와 공기 (codeschool.com) 레벨 1, 예 1

    JQuery와 공기 (codeschool.com) 레벨 1, 예 1

    Codeschool / 플랫폼 독립적 인 버전

    <section id="tabs">
      <ul>
        <li><a href="#2012-09-27" data-flights="6">Sep 27</a></li>
        <li><a href="#2012-09-28" data-flights="5">Sep 28</a></li>
        <li><a href="#2012-09-29" data-flights="5">Sep 29</a></li>
      </ul>
    </section>
    

    레일 버전

    <section id="tabs">
      <ul>
        <li><%= content_tag(:a, "Sep 27",:href=> "#2012-09-27", :data => { :flights => "6" } ) %></li>
        <li><%= content_tag(:a, "Sep 28",:href=> "#2012-09-28", :data => { :flights => "5" } ) %></li>
        <li><%= content_tag(:a, "Sep 29",:href=> "#2012-09-29", :data => { :flights => "5" } ) %></li>
      </ul>
    </section>
    
  5. ==============================

    5.이전 답변에 구축, 여기에 지금 할 수있는 표준적인 방법이있다 :

    이전 답변에 구축, 여기에 지금 할 수있는 표준적인 방법이있다 :

    content_tag(:div, "Some Text", id: "foo", data: { attr: some_variable })
    content_tag(:div, "Some Text", id: "foo", data: { "other-attr" => some_variable })
    

    어느 생성 :

    <div id="foo" data-attr="some variable">Some Text</div>
    <div id="foo" data-other-attr="some variable">Some Text</div>
    
  6. ==============================

    6.당신은 항상 당신이 쓸 수있는 당신에게 자신의 도우미 함수를 만들 수 있습니다

    당신은 항상 당신이 쓸 수있는 당신에게 자신의 도우미 함수를 만들 수 있습니다

    <%= div_data_tag the_id, some_text, some_data %>
    
  7. from https://stackoverflow.com/questions/4258512/best-way-to-use-html5-data-attributes-with-rails-content-tag-helper by cc-by-sa and MIT license