我有组和用户模型,通过它们之间的关系。当我创建一个组时,除了 users/show 和 groups/show 之外的所有路由都不起作用并且给我路由错误
No route matches {:action=>"show", :controller=> "groups"} ^
这真的让我很烦,因为
- 组控制器甚至不参与任何其他路线,如 /document/new
- 我实际上在组控制器中有“显示”动作
我的代码在下面
class GroupsController < ApplicationController
before_filter :group_created?, only: [:new]
def new
@group = Group.new
end
def create
group = Group.new(name: params[:group][:name], owner: current_user.id)
user = User.find(group.owner)
if group.save
group.users = [ user ]
flash[:success] = 'Group successfully created!'
redirect_to group
else
render 'new'
end
end
def show
@group = Group.find(params[:id])
@group_users = @group.users
end
def edit
end
def delete
end
private
def group_created?
if Group.where("owner = ?", current_user.id).any?
flash[:error] = "Error: Can't own more than one group"
redirect_to current_user
else
end
end
end
路线
resources :folders
resources :documents, only: [:new, :create, :destroy]
resources :users
resources :groups
match '/signup', to: 'users#new'
match '/signin', to: 'sessions#new'
match '/signout', to: 'sessions#destroy', via: :delete
match '/folders', to: 'folders#index'
match '/download', to: 'documents#download'