我想在Rails中隐藏我的传出链接,但找不到任何人在Wordpress& PHP。我猜它要么是愚蠢容易的,要么是愚蠢的,很想澄清。
我正在努力实现这样的链接:
http://www.railsproject.com/posts/test-post
但点击重定向到:
http://www.test-webpage.com/12341/post-at-another-site
目前我的网址看起来有点难看,搜索引擎优化也很讨厌它。
任何帮助都会很棒!
编辑错误
PG :: UndefinedColumn:错误:列offers.friendly_id不存在 第1行:选择“要约”。* FROM“提供”WHERE“要约”。“friendly_id ... ^:SELECT“offer”。* FROM“offers”WHERE“offers”。“friendly_id”IS NULL LIMIT 1
# GET /offers/1.json
def show
link = Offer.find_by!(friendly_id: params[:slug])
redirect_to link.url
end
答案 0 :(得分:1)
您只需将slug和传出的URL存储在数据库中,然后在有人访问该链接时匹配它们。
假设名为Post
的模型具有两个属性friendly_id
和url
。您可以设置如下路线:
# config/routes.rb
get "posts/:slug", to: "posts#show"
在你的控制器中:
# app/controller/posts_controller.rb
def show
link = Post.find_by!(friendly_id: params[:slug])
redirect_to link.url
end
请注意,链接需要以http://
或https://
开头,否则redirect_to
来电将失败。