0

アーティストのリンクを次のようにしたい:

http://admin.foobar.com/artists/123
http://www.foobar.com/123

私のRoutesセットアップは次のようになります。

class AdminSubDomain
  def matches?(request)
    whitelists = IpPermission.whitelists

    if whitelists.map { |whitelist| whitelist.ip }.include? request.remote_ip
      request.subdomain == 'admin'
    else
      raise ActionController::RoutingError.new('Not Found')
    end
  end
end

Foobar::Application.routes.draw do
  constraints AdminSubDomain.new do
    ..
    resources :artists, :only => [:index, :show], :controller => 'admin/artists'
  end

  get ':id' => 'artists#show', :as => 'artist' do
    ..
  end
end

Rake routes戻り値:

artist GET    /artists/:id(.:format)        admin/artists#show
artist GET    /:id(.:format)                artists#show

現時点では、次の<%= link_to 'Show', artist_path(artist, :subdomain => :admin) %>場所を指しています: http://admin.foobar.dev:3000/123.

次のようになります。http://admin.foobar.dev:3000/artists/123

私は何を間違っていますか?

4

1 に答える 1