アプリ内のすべてのユーザーにカスタムの共有可能なURLがあります。このURLを使用すると、ユーザーはサイトを共有し、コンバージョンのクレジットを付与できます。
私の問題は、このルートをキャッチしようとすると、すべてのUrl(共有されていないものも含む)がuser-share-urlと見なされるという問題に遭遇することです。
私はroutes.rbをどのように設定したので、これが起こっていることを理解しています
ルート.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の場合は、通常のリクエストを続行しますか?