القضبان: لماذا أحصل على الرابط الخاطئ على هذا pingback؟
-
25-09-2019 - |
سؤال
لذلك لديّ مرسل 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",