【发布时间】:2011-04-16 02:10:52
【问题描述】:
我在弄清楚如何为每个用户帖子(在我的应用中称为 supportposts)创建一个 url 并将其传递给 after_commit 方法时遇到了一些真正的麻烦。现在我可以传递支持帖子的属性,例如标题和内容,这些属性将共享到 twitter:
supportpost.rb
after_commit :share_all
def share_all
if user.authentications.where(:provider => 'twitter').any?
user.twitter_share(title, content)
end
end
用户.rb
def twitter_share(title, content)
twitter.update("#{title}, #{content}") #<--- this goes to twitter feed
end
现在我真正想做的是将 supportpost 的 URL 分享到 twitter 提要中。我正在尝试像这样访问模型外部的 url 助手,但它弄乱了我的路线,我得到了 RoutingError (No route matches {: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
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 url parameter-passing