Rails before_filter - 仅销毁用户的对象

时间:2014-01-09 01:31:31

标签: ruby-on-rails

我是rails的新手(刚刚完成了教程),我试图将对象的删除仅限于所有者,但任何人都可以查看它。

目前,如果我签名(对任何帐户),那么当我点击'销毁'时没有任何事情发生(没有刷新,没有),但如果我没有登录,那么它会问我是否确定 - >然后它检查我是否已登录并将我弹出到sign_in页面。

events_controller.rb

class EventsController < ApplicationController
  before_filter :signed_in_user,  only: [:create, :edit,  :update,  :destroy]
  before_filter :correct_user,    only: [         :edit,  :update,  :destroy]
...
# DELETE /events/1
  # DELETE /events/1.json
  def destroy
    @event.destroy
    redirect_to root_path
  end
  private
    def signed_in_user
      unless signed_in?
        store_location
        redirect_to signin_path, notice: "Please sign in."
      end
    end
    def correct_user
      @event = current_user.events.find_by_id(params[:id])
      redirect_to root_path if @event.nil?
    end
    def admin_user
      redirect_to(root_path) unless current_user.admin?
    end
end

非常感谢教育解释。感谢

Rake Routes - 根据要求

         events GET    /events(.:format)              events#index
           POST   /events(.:format)              events#create
 new_event GET    /events/new(.:format)          events#new
edit_event GET    /events/:id/edit(.:format)     events#edit
     event GET    /events/:id(.:format)          events#show
           PUT    /events/:id(.:format)          events#update
           DELETE /events/:id(.:format)          events#destroy
 locations GET    /locations(.:format)           locations#index
           POST   /locations(.:format)           locations#create
   new_location GET    /locations/new(.:format)       locations#new
  edit_location GET    /locations/:id/edit(.:format)  locations#edit
       location GET    /locations/:id(.:format)       locations#show
           PUT    /locations/:id(.:format)       locations#update
           DELETE /locations/:id(.:format)       locations#destroy
       sessions POST   /sessions(.:format)            sessions#create
    new_session GET    /sessions/new(.:format)        sessions#new
        session DELETE /sessions/:id(.:format)        sessions#destroy
 following_user GET    /users/:id/following(.:format) users#following
 followers_user GET    /users/:id/followers(.:format) users#followers
          users GET    /users(.:format)               users#index
                POST   /users(.:format)               users#create
       new_user GET    /users/new(.:format)           users#new
      edit_user GET    /users/:id/edit(.:format)      users#edit
           user GET    /users/:id(.:format)           users#show
                PUT    /users/:id(.:format)           users#update
                DELETE /users/:id(.:format)           users#destroy
     microposts POST   /microposts(.:format)          microposts#create
      micropost DELETE /microposts/:id(.:format)      microposts#destroy
                POST   /events(.:format)              events#create
                DELETE /events/:id(.:format)          events#destroy
  relationships POST   /relationships(.:format)       relationships#create
   relationship DELETE /relationships/:id(.:format)   relationships#destroy
           root        /                              static_pages#home
         signup        /signup(.:format)              users#new
           help        /help(.:format)                static_pages#help
          about        /about(.:format)               static_pages#about
        contact        /contact(.:format)             static_pages#contact
                GET    /users(.:format)               users#index
                POST   /users(.:format)               users#create
                GET    /users/new(.:format)           users#new
                GET    /users/:id/edit(.:format)      users#edit
                GET    /users/:id(.:format)           users#show
                PUT    /users/:id(.:format)           users#update
                DELETE /users/:id(.:format)           users#destroy
                POST   /sessions(.:format)            sessions#create
                GET    /sessions/new(.:format)        sessions#new
                DELETE /sessions/:id(.:format)        sessions#destroy
                       /signup(.:format)              users#new
         signin        /signin(.:format)              sessions#new
        signout DELETE /signout(.:format)             sessions#destroy

0 个答案:

没有答案