1

我有组和用户模型,通过它们之间的关系。当我创建一个组时,除了 users/show 和 groups/show 之外的所有路由都不起作用并且给我路由错误

No route matches {:action=>"show", :controller=> "groups"} ^

这真的让我很烦,因为

  1. 组控制器甚至不参与任何其他路线,如 /document/new
  2. 我实际上在组控制器中有“显示”动作

我的代码在下面

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'
4

0 回答 0