के साथ आंशिक रूप से दृश्य प्रस्तुत करना मेरे ऐप में, मेरे पास एक उपयोगकर्ता प्रोफ़ाइल पृष्ठ है जिसमें तीन टैब और इसके नीचे एक खाली div है। एक डिफ़ॉल्ट टैब है जो सफेद और दो अन्य टैब हैं जो गहरे हैं और "अचयनित" हैं।गतिशील रूप से रेल और jQuery
मैं इसे बनाना चाहता हूं ताकि नीचे दिए गए div में सामग्री आंशिक रूप से प्रस्तुत की जा सके कि किस टैब का चयन किया गया है।
मैं पहले से ही उस बिंदु पर काम कर रहा हूं जहां jQuery मुझे विभिन्न टैब पर क्लिक करने की अनुमति देता है और यह पेज रीफ्रेश किए बिना टैब के रंगों को बदल देता है।
हालांकि, मैं आंशिक रूप से प्रस्तुत करने के लिए आंशिक रूप से प्राप्त करने के तरीके पर अटक गया हूं। इस पर कोई विचार? मैं jQuery पर कौन सा टैब चुना गया है, इस पर आधारित आंशिक रूप से आंशिक रूप से कॉल करने के तरीके पर अटक गया हूं और वास्तव में यह सुनिश्चित नहीं है कि मुझे इसे बनाने के लिए इसके साथ बातचीत करने के लिए किसी अन्य फ़ाइल की आवश्यकता है या नहीं। मैं एक रेल ऐप में jQuery के लिए अपेक्षाकृत नया हूं इसलिए मुझे यकीन नहीं है कि मैंने जो कुछ भी किया है, मैंने किया है।
उपयोगकर्ता प्रोफाइल पेज: एप्लिकेशन> दृश्य> show.html.erb
<ul class="profile-tabs">
<%= link_to "<li class=\"tab selected\">Tab 1</li>".html_safe, userprofile_users_path, remote: true %>
<%= link_to "<li class=\"tab\">Tab 2</li>".html_safe, userprofile_users_path, remote: true %>
<%= link_to "<li class=\"tab\">Tab 3</li>".html_safe, userprofile_users_path, remote: true %>
</ul>
<div id="profile-content">
<!--content goes here -->
</div>
jQuery: एप्लिकेशन> संपत्ति> javascripts> userprofile.js
$(function() {
$("li.tab").click(function(e) {
e.preventDefault();
$("li.tab").removeClass("selected");
$(this).addClass("selected");
$("#profile-content").html("<%= escape_javascript(render partial:
"How can I make this partial name be generated based on the value of the selected li?")%>");
});
});
उपयोगकर्ता नियंत्रक: ऐप> नियंत्रक> users_controller । आरबी
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
def userprofile
respond_to do |format|
format.js
end
end
end
तीन टैब के अनुरूप तीन आंशिक हैं, और मुझे चाहिए jQuery किसी भी तरह से चयनित टैब के आधार पर आंशिक रूप से आंशिक रूप से परिवर्तित किया जा सकता है।
मैं वास्तव में इसके साथ कुछ मदद की सराहना करता हूं, या यदि कोई अन्य संसाधन है जो मेरे प्रश्न का उत्तर दे सकता है। मैं कुछ भी नहीं ढूंढ पाया जो सीधे जवाब देता है कि मैं क्या करने की कोशिश कर रहा हूं।
अपडेट ------
मैं समाधान प्रदान rails_has_elegance थे, लेकिन कुछ भी नहीं div मैं लक्षित कर रहा हूं में दिखाई दे रहा है। हालांकि, मैं रेल सर्वर उत्पादन है, जो है जैसे कि यह क्या कर रही है लगता है जो मैं चाहता में यह देख रहा हूँ:
Started GET "https://stackoverflow.com/users/currentoffers" for 127.0.0.1 at 2013-03-28 21:20:01 -0500
Processing by UsersController#currentoffers as JS
Rendered users/_offers.html.erb (0.1ms)
Rendered users/currentoffers.js.erb (0.8ms)
Completed 200 OK in 4ms (Views: 3.7ms | ActiveRecord: 0.0ms)
[2013-03-28 21:20:01] WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true
क्षमा js.erb का उपयोग कर यदि यह वास्तव में बुनियादी है सभी 3 पट्टियों के ठीक नीचे एक div में आंशिक प्रस्तुत करना है, लेकिन मुझे देखने अगर मैं समझता हूँ कि तुम क्या कह रहे हैं: 1) बनाएं नियंत्रक में 3 अलग-अलग क्रियाएं 2) लिंक_to टैग में पथ बदलें 2) ऊपर दिए गए कोड को [action] .js में रखें।ऐप के भीतर संग्रहीत एरब फ़ाइलें> विचार> उपयोगकर्ता निर्देशिका? क्या आपके द्वारा वर्णित AJAX अनुरोध को संभालने के लिए मुझे कुछ अतिरिक्त लिखने की ज़रूरत है? – Zephyr4434
मुझे लगता है कि उन 3 चरणों को यह करना चाहिए :) रिमोट: प्रत्येक कार्रवाई में सत्य महत्वपूर्ण है और answer_to format.js है। –
मैंने बिल्कुल यह किया, लेकिन जब मैं किसी एक टैब पर क्लिक करता हूं, तो खाली div आंशिक रूप से भरा नहीं जाता है जिसे मैं कॉल करने का प्रयास कर रहा हूं। अजीब। – Zephyr4434