2010-12-04 19 views
14

मैं एक लिंक एसएसएल का उपयोग करना चाहता हूं। मैं इस कोड का उपयोग कर रहा:link_to के साथ: प्रोटोकॉल काम नहीं कर रहा है

<%= link_to "Buy now!", line_items_path(:thing_id => @thing), :method => :post, :protocol => "https", :only_path => false %> 

किसी कारण के लिए, लिंक http:// बजाय https:// साथ बनाई जा रही है।

मैं रेल 3.0.3 का उपयोग कर रहा हूं। पथ सहायक अंदर प्रोटोकॉल विकल्प:

उत्तर

24

आप करना होगा

<%= link_to "Buy now!", line_items_url(:thing_id => @thing, :protocol => "https"), :method => :post %> 
+3

यदि मुझे गलत नहीं है, तो: only_path => झूठी आवश्यक है। इसे केवल छोड़ा जा सकता है यदि: होस्ट निर्दिष्ट है। – plang

+10

एफवाईआई, असली चाल यहां line_items_path को line_items_url में बदल रही है क्योंकि पथ सहायक सहायता नहीं करते हैं: प्रोटोकॉल – Bob

+0

इसके अतिरिक्त: only_path => झूठा मेरे लिए काम किया जाता है .. धन्यवाद ... :) –

1

आप अपने एप्लिकेशन में bartt-ssl_requirement rubygem का उपयोग कर रहे हैं, तो आप उपयोग कर सकते हैं ssl-url-helper स्पष्ट रूप से http या https प्रोटोकॉल का उल्लेख।

लाभ:

  1. आप विकलांग एसएसएल चेक (विकास के वातावरण में) कर दिया है तो निम्नलिखित तरीके से: SslRequirement.disable_ssl_check = true, तो :secure => true गुजर स्पष्ट रूप से अपने को देखने के लिए https लिंक जोड़ नहीं होंगे। यह मामला नहीं है यदि आप :protocol => 'https' निर्दिष्ट करते हैं और SSL चेक अक्षम करते हैं।

  2. इसके अलावा, प्रत्येक स्थान पर line_items_path से line_items_url को बदलने की आवश्यकता नहीं है।

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