1
如果我們使用form_for
進行記錄,表單標籤內的所有輸入標籤將自動包含一個屬性id
,其值爲id="post_3_title"
,id="post_3_content"
。如何從form_for中的記錄獲取標籤ID?
在我的情況下,我想要獲得這些名稱來動態創建JavaScript代碼。我想知道有沒有辦法做到這一點。有任何想法嗎?
感謝您的幫助。
如果我們使用form_for
進行記錄,表單標籤內的所有輸入標籤將自動包含一個屬性id
,其值爲id="post_3_title"
,id="post_3_content"
。如何從form_for中的記錄獲取標籤ID?
在我的情況下,我想要獲得這些名稱來動態創建JavaScript代碼。我想知道有沒有辦法做到這一點。有任何想法嗎?
感謝您的幫助。
我在actionpack-3.2.12/lib/action_view/helpers/form_helper.rb:1218
找到了源代碼。
def tag_name_with_index(index)
"#{@object_name}[#{index}][#{sanitized_method_name}]"
end
def tag_id
"#{sanitized_object_name}_#{sanitized_method_name}"
end
def tag_id_with_index(index)
"#{sanitized_object_name}_#{index}_#{sanitized_method_name}"
end
def sanitized_object_name
@sanitized_object_name ||= @object_name.gsub(/\]\[|[^-a-zA-Z0-9:.]/, "_").sub(/_$/, "")
end
def sanitized_method_name
@sanitized_method_name ||= @method_name.sub(/\?$/,"")
end
看來我們可以很好地利用它們,但是它們都是私有方法。我認爲另一個解決方案是實施這樣的輔助方法。
你可以給該字段定製id並且可以將它用於你的javascript代碼 – 2013-02-28 05:14:15
@DevR謝謝,你的解決方案可以工作,這就是我以簡單形式使用的方式,但是在嵌套形式中,我認爲它可以是小糟糕。 – 2013-02-28 06:21:58