القضبان: لماذا أحصل على الرابط الخاطئ على هذا pingback؟

StackOverflow https://stackoverflow.com/questions/3603550

سؤال

لذلك لديّ مرسل Pingback جاهزًا لتطبيق Rails الخاص بي (ينشر الأشخاص روابط للمحتوى والتبرع بهم). تقريبيا.

لقد استعارت بشدة من الكود هنا:http://theadmin.org/articles/2007/12/04/mephisto-trackback-library/

لقد قمت بتعديل قليلاً لأغراضي:

require 'net/http'
require 'uri'

class Trackback

  @data = { }

  def initialize(link_id)
    link = Link.find(link_id)
    site = Link.website

    if link.nil?
      raise "Could not find link"
    end

    if link.created_at.nil?
      raise "link not published"
    end

    @data =  {
      :title => link.name,
      :excerpt => link.description,
      :url => "http:://www.MyApp.org/links/#{link.to_param}/donations/new",
      :blog_name => "My App"
    }
  end

  def send(trackback_url)
    u = URI.parse trackback_url
    res = Net::HTTP.start(u.host, u.port) do |http|
      http.post(u.request_uri, url_encode(@data), { 'Content-Type' => 'application/x-www-form-urlencoded; charset=utf-8' })
    end
    RAILS_DEFAULT_LOGGER.info "TRACKBACK: #{trackback_url} returned a response of #{res.code} (#{res.body})"
    return res
  end

  private

  def url_encode(data)
    return data.map {|k,v| "#{k}=#{v}"}.join('&')
  end

end

يبدو أنني أرسل روابط بنجاح إلى مدونة WordPress الخاصة بي ، لكن عندما أنظر إلى الرابط المعروض على TrackBack ، أحصل على هذا: http://www.theurl.com/that/my/browser/iscurrentlypointing/at/http:://www.MyApp.org/links/#{link.to_param}/التبرعات/جديدة "

كل ما أريده هو النصف الثاني من هذه السلسلة الطويلة. لا أعرف لماذا يتسلل الموقع الحالي على متصفحي هناك.

لقد جربت هذا على اثنين من مدونتي ، لذلك لا يبدو أن مشكلة تتعلق بتثبيت WordPress الخاص بي.

تحديث: حسنًا ، هذا غريب بعض الشيء: لقد راجعت مصدر الصفحة ويظهر الرابط الصحيح. عند النقر فوقه ، أحصل على توجيه إلى الرابط الغريب الذي ذكرته أعلاه. هل هذه قضية وورد؟

هل كانت مفيدة؟

المحلول

يصيح! يبدو أنه كان مجرد خطأ في بناء الجملة. قولون مزدوج متستر

هذا الخط

url => "http:://www.MyApp.org/links/#{link.to_param}/donations/new"

يجب أن يكون بالطبع هكذا

url => "http://www.MyApp.org/links/#{link.to_param}/donations/new",
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top