在我的创业板文件中,我添加了创业板'subdomain-fu', '1.0.0.beta2'。然后我做了bundle install。我试图打印<%= current_subdomain %>,但得到了undefined local variable or methodcurrent_子域‘’。我为什么要犯这个错误?
我也重新启动了我的nginx服务器和独角兽。
发布于 2015-10-15 10:36:02
您不需要创业板来在Rails中添加sudomains。
这是一些代码,我已经成功地添加到我的一个应用程序。
在routes.rb中添加以下内容:
constraints subdomain: false do
root to: 'landings#index'
end
constraints subdomain: 'my' do
get '/', to: 'users#show', as: 'app_root'
resources :users
resources :games do
collection do
get :search, to: 'games#search', as: :search
end
end
end以下是我的看法:
root GET / landings#index
app_root GET / users#show {:subdomain=>"my"}
users GET /users(.:format) users#index {:subdomain=>"my"}
POST /users(.:format) users#create {:subdomain=>"my"}
new_user GET /users/new(.:format) users#new {:subdomain=>"my"}
edit_user GET /users/:id/edit(.:format) users#edit {:subdomain=>"my"}
user GET /users/:id(.:format) users#show {:subdomain=>"my"}
PATCH /users/:id(.:format) users#update {:subdomain=>"my"}
PUT /users/:id(.:format) users#update {:subdomain=>"my"}
DELETE /users/:id(.:format) users#destroy {:subdomain=>"my"}
search_games GET /games/search(.:format) games#search {:subdomain=>"my"}
games GET /games(.:format) games#index {:subdomain=>"my"}
POST /games(.:format) games#create {:subdomain=>"my"}
new_game GET /games/new(.:format) games#new {:subdomain=>"my"}
edit_game GET /games/:id/edit(.:format) games#edit {:subdomain=>"my"}
game GET /games/:id(.:format) games#show {:subdomain=>"my"}
PATCH /games/:id(.:format) games#update {:subdomain=>"my"}
PUT /games/:id(.:format) games#update {:subdomain=>"my"}
DELETE /games/:id(.:format) games#destroy {:subdomain=>"my"}这个方法的缺点是,对于子域路由,必须使用search_games_path(subdomain: 'mysubdomainname')或search_games_url (which automatically points to your subdomain)。
发布于 2015-10-15 10:36:51
Rails 4附带内置的功能,所以您不需要使用诸如subdomain_fu这样的老宝石。
要获取rails 4中的当前子域,只需执行以下操作:
<%= request.subdomain %>https://stackoverflow.com/questions/33145795
复制相似问题