У меня возникают некоторые реальные проблемы с выяснением того, как создать URL для каждого пользовательского поста (в моем приложении это называется supportposts) и передать его методу after_commit.Прямо сейчас я могу передать атрибуты поста поддержки, такие как заголовок и контент, который предоставляется в твиттер:
supportpost.rb
after_commit :share_all
def share_all
if user.authentications.where(:provider => 'twitter').any?
user.twitter_share(title, content)
end
end
user.rb
def twitter_share(title, content)
twitter.update("#{title}, #{content}") #<--- this goes to twitter feed
end
Теперь я действительно хочу поделиться URL-адресом supportpost в твиттере.Я пытаюсь получить доступ к помощникам URL за пределами модели, как это, но это портит мои маршруты, и я получаю RoutingError (Нет совпадений с маршрутом {: action => "destroy",: controller => "supportposts"})
supportpost.rb
after_commit :share_all
Rails.application.routes.url_helpers.supportpost_url(@supportpost, :host => 'examplehost.com')
def share_all
if user.authentications.where(:provider => 'twitter').any?
user.twitter_share(supportpost_url)
end
end
Что я здесь не так делаю?Как правильно передать URL в twitter_share?
Здесь мой маршрут и суппост пост контроллера / модель http://pastie.org/1799492