簡體   English   中英

如何在rails中使div ID可變?

[英]How do I make my div IDs variable in rails?

我覺得應該有一個簡單的方法來執行此操作,但我只是不知道它是什么。 我有一個要顯示的數據列表,我想包括一個AJAX“更多信息”功能以在每個段的底部擴展信息。 為此,我需要在每個段中使用唯一的div ID。 我有以下代碼:

<% for choice in @student_choices %>
    <div id= "student_description", style="display:none;">
        <%= choice[:description]%>
    </div>
    <%= link_to_function "Read More", "Element.show("student_description")"%>
<% end %>

但是由於存在多個div ID,因此單擊“閱讀更多”只會顯示第一個。 如何插入變量div ID? 我知道如何在PHP中執行此操作,但這使我感到困惑。 即使我們將div ID本身設置為變量,也如何使Element.show接受變量?

您可以執行以下操作:

<% div_id = "student_description_#{choice.id}" -%>

<div id="<%= div_id -%>", style="display:none;">
    <%= choice.description %>
</div>

<%= link_to_function "Read More", "Element.show('##{div_id}')" %> 

傳統的rails方法是使用dom_id

然后,您可以執行類似的操作

<% for choice in @student_choices %>
    <div id="<%= dom_id(choice) %>" style="display:none;">
        <%= choice[:description]%>
    </div>
    <%= link_to_function "Read More", "Element.show('#{dom_id(choice)}')"%>
<% end %>

盡管您可以使用給定的示例(有效的示例),但我建議您使用rails函數(http://api.rubyonrails.org/classes/ActionView/Helpers/RecordTagHelper.html)。 然后在按鈕/鏈接上,您只找到具有特定類的最近的div並提取id並執行顯示邏輯。

暫無
暫無

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

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