2013-04-20 32 views
1

我想改變我的引腳產生的路徑,以適應管理員用戶訪問其他用戶的引腳,並能夠刪除它們。一個月的軌道用戶特定的路線和引腳控制器

我用devise創建了一個用戶模型並添加了admin屬性。這工作正常,但由於我已將每個引腳與控制器中的current_user關聯,因此我無法刪除其他人或以管理員用戶身份登錄時查看引腳。

我認爲問題出在我這裏pins_controller.rb

@pin = current_user.pins.find(params[:id])

下面是一個不正常的實際路線

<% if current_user == pin.user or user_signed_in? && current_user.admin? %> 
    <p> 
     <%= link_to content_tag(:i, "", class:"icon-edit"), edit_pin_path(pin) %> | 
     <%= link_to content_tag(:i, "", class:"icon-trash"), pin, method: :delete, data: { confirm: 'Are you sure?' } %> 
    </p> 
<% end %> 

我也可能是錯誤的這一點和問題可能在routes.rb文件中

Omrails::Application.routes.draw do 

get "users/show" 

resources :pins 

devise_for :users 
match 'users/:id' => 'users#show', as: :user 

get 'about' => 'pages#about' 

root :to => 'pins#index' 

我的git倉庫是在這裏:https://github.com/nathan-wallace/imageapp.git

回答

1

你可以試試這個

<% if user_signed_in? %> 
     <% if (current_user == @pin.user) or current_user.admin? %> 
     <p> 
     <%= link_to content_tag(:i, "", class:"icon-edit"), edit_pin_path(pin) %> | 
     <%= link_to content_tag(:i, "", class:"icon-trash"), pin, method: :delete, data: {    confirm: 'Are you sure?' } %> 
     </p> 
    <% end %> 
    <% end %>