个人共享网址 - 路由问题

时间:2013-02-13 01:17:11

标签: ruby-on-rails routing url-routing

我的应用中的每个用户都有自定义的可共享网址。此网址允许用户共享网站并将其归功于转化 我的问题是,当我试图抓住这条路线时,我遇到的问题是我的所有网址 - 甚至是非共享的网址都被视为用户共享网址。

我理解这种情况正在发生,因为我如何设置我的routes.rb

的routes.rb

match '/:in_url' => 'share_links#go'

ShareLinksController.rb

def go
  if @link = Spree::ShareLink.find_by_in_url(params[:in_url])
    session[:converter] = @link.user_id
    redirect_to root_path, :status => @link.http_status
  end
end

我如何设置它,所以控制器只处理可共享的URL - 或者如果@link是nil,我会继续常规请求吗?

1 个答案:

答案 0 :(得分:1)

尝试将此路线放在路线文件的末尾,并查看问题是否仍然存在。

不确定您的应用是如何设置的,但是当用户输入错误时会发生什么?也许把它改成像:

def go
  if @link = Spree::ShareLink.find_by_in_url(params[:in_url])
    session[:converter] = @link.user_id
    redirect_to root_path, :status => @link.http_status
  else
    redirect_to root_path # or 404 page
  end
end