Rails: Почему я получаю неправильную ссылку на этот Pingback?

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

Вопрос

Таким образом, у меня почти у меня есть отправитель Pingback для моего приложения Rails (люди публикуют ссылки на содержание и пожертвуйте им). Почти.

Я позаимствовал тяжело из кода здесь:http://theadmin.org/articles/2007/12/04/mephistoTraackbackback-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, но когда я смотрю на ссылку, отображаемую в трекбеке, я получаю это: http://www.theurl.com/that/my/browser/ishurnointing/at/http:://www.myapp.org/links/#{link.te_param} / пожертвования / новое "

Все, что я хочу, это вторая половина этой длинной струны. Не знаю, почему текущее местоположение в моем браузере подкрадывается там.

Я пробовал это на двух моих блогах, поэтому, похоже, это не проблема, связанная с моим установкой WordPress.

Обновление: Хорошо, это немного странно: я проверил источник страницы, и он показывает правильную ссылку. Однако, когда я нажимаю на него, я направляюсь на странную ссылку, которую я упомянул выше. Это проблема 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