2012-02-12 11 views
7

मैं अपनी पोस्ट/इंडेक्स व्यू पर एक लिंक_to टैग का उपयोग कर रहा हूं और इसे अपनी पोस्ट/शो/आईडी व्यू से लिंक करना चाहता हूं एक एंकर के साथ जो इसे टिप्पणियों के रूप में नीचे स्क्रॉल करता है। किसी कारण से मैं काम करने के लिए एंकर नहीं प्राप्त कर सकता। ,रेल 3.13 पोस्ट/इंडेक्स से पोस्ट/शो/आईडी से लिंक_to टैग के साथ एंकर विशेषता का उपयोग करके रेलवे 3.1.3

पदों/सूचकांक

<%= link_to 'Add a Comment', post, :anchor => 'comment_form' %> 

इस कड़ी के अंत में # हस्ताक्षर संलग्न करने के लिए विफल रहता है में तो यह सिर्फ स्थानीय होस्ट है: यहाँ मेरी कोड है 3000/पदों/आईडी। मैं भी LINK_TO के लिए कई रूपों की कोशिश की है जिसमें शामिल है:

<%= link_to 'Add a Comment', post(:anchor => 'comment_form' %> 

और

<%= link_to 'Add a Comment', :controller => 'posts', :action => 'show', :id => @post, :anchor => 'comment_form' %> 

लेकिन मैं कोई भाग्यशाली रहे हैं।

यहाँ मेरी पदों # शो कार्रवाई है:

def show 
    @post = Post.find(params[:id]) 

    respond_to do |format| 
     format.html # show.html.erb 
     format.json { render json: @post } 
    end 
    end 

और यहाँ पदों/शो दृश्य जहां मैं लंगर के लिए स्क्रॉल करना चाहते है:

<h2><a name="comment_form" id="comment_form">Add a comment:</a></h2> 

इसके अलावा में से किसी उपरोक्त काम करता है अगर मैं इंडेक्स पेज पर कुछ लिंक कर रहा हूं, क्योंकि मैं देख सकता हूं कि हैश # को आउटपुट यूआरएल में जोड़ा गया है। कुछ कारणों से यह शो पेज से लिंक करने का प्रयास करते समय काम नहीं कर रहा है। इसके साथ कोई मदद?

link_to('Add a comment', post_path(post, :anchor => 'comment_form')) 

link_to को दूसरा तर्क आम तौर पर url_for के रूप में-है पारित हो जाता है, और एक <a> तत्व है कि अंततः उत्पन्न हो जाता है के लिए हैश विशेषताओं के रूप में तीसरा तर्क प्रयोग किया जाता है:

उत्तर

14

इस प्रयास करें।

तो अपने पहले उदाहरण में, आप दूसरे तर्क के रूप में Post ऑब्जेक्ट पास कर रहे हैं और तीसरे तर्क के रूप में हैश। केवल Post को url_for पर भेज दिया जाएगा। यह :anchor विकल्प युक्त हैश को कभी नहीं देखता है, इसलिए आपको जेनरेट किए गए यूआरएल के अंत में एंकर नहीं दिखाई देगा। (लेकिन आप शायद anchor="comment_form" उत्पन्न <a> तत्व पर विशेषता देखेंगे।)

आपका दूसरा उदाहरण वाक्य रचनात्मक रूप से गलत है। मुझे कल्पना है कि एक त्रुटि हुई है।

आपका तीसरा उदाहरण ... काम करना चाहिए था। मुझे यकीन नहीं है कि ऐसा क्यों नहीं हुआ :-)

संबंधित मुद्दे