簡體   English   中英

帶有HTML標簽的輔助Ruby

[英]Helper Ruby with HTML tags

我正在嘗試寫一個幫助程序來創建可折疊的Grop。 我轉換了

<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingOne">
  <h4 class="panel-title">
    <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
      Collapsible Group Item #1
    </a>
  </h4>
</div>
<div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
  <div class="panel-body">
     text to answer
  </div>
</div>

  def faqbox(question, answer, number)
open :div, :class => "panel panel-default" do
  open :div, :class => "panel-heading", :role => "tab", :id => "heading#{number}" do
    open :h4, :class => "panel-title" do
      open :a, :role => "button", :data-toggle => "collapse", :data-parent => "#accordion", :href => "#collapseOne", :aria-expanded => "true", :aria-controls => "collapse#{number}" do
        "#{question}"
      end
    end
  end
end
open :div, :id => "collapse#{number}", :class => "panel-collapse collapse in", :role => "tabpanel", :aria-labelledby => "heading#{number}" do
  open :div, :class => "panel-body" do
    "#{answer}"
  end
end 
end

但這給了我“ / getting-help處的TypeError不會將Symbol隱式轉換為String”

我和中間人一起使用紅寶石。 我該怎么辦?

請考慮使用局部而不是大量的嵌套open

# _faqbox.html.erb

<% heading = "heading#{number}"%>
<% collapse ="collapse#{number}" %>

<div class="panel panel-default">
  <div class="panel-heading" role="tab" id=<%= heading %>>
    <h4 class="panel-title">
      <a role="button" data-toggle="collapse" data-parent="#accordion" href="#<%= collapse %>" aria-expanded="true" aria-controls="<%= collapse %>">
        <%= question %>
      </a>
    </h4>
  </div>

  <div id="<%= collapse %>" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
    <div class="panel-body">
       <%= answer %>
    </div>
  </div>
</div>


# some view
<%= render partial: "faqbox", locals: {question: "foo", answer: "bar", number: 3} %>

結果

部分結果

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM