在我的項目我有一個用戶模式和廣告模式。用戶模型也包含管理員。我想設置路由,以便管理員登錄時,所有URL都包含「/ admin」。我是新來的鐵軌,並有相同的麻煩。例如,當普通用戶登錄時,url爲/ advertisements /:id/show,但是當管理員登錄時,URL將變爲/ admin/advertisements /:id/show。嘗試了很多方法,但找不到解決方案。 我的用戶遷移文件如下:軌添加/管理員路由時,管理員日誌中
class CreateUsers < ActiveRecord::Migration[5.1]
def change create_table :users do |t| t.string :first_name, limit: 15, null: false t.string :last_name, limit: 15 t.string :username, limit: 20 t.string :email, null: false t.string :password_digest t.boolean :approved, default: false t.boolean :admin, default: false t.timestamps end end end
我的廣告遷移文件是:
class CreateAdvertisements < ActiveRecord::Migration[5.1]
def change
create_table :advertisements do |t|
t.string :name, null: false
t.text :description, null: false
t.integer :price, null: false
t.string :location, null: false
t.integer :user_id
t.boolean :approved, default: false
t.timestamps
end
add_index("advertisements", "user_id")
end
end
的路由文件(routes.rb中)具有代碼
resources: users
resources: advertisements
有沒有辦法做到這一點?
你想不同的途徑導致單獨的控制器或你想同一個控制器能與不同的路線訪問? – AntonTkachov
我希望可以通過單獨的路線訪問相同的控制器,例如廣告可能不得不由管理員或發佈它的用戶刪除。 –
一方面是......但另一方面用戶應該只能訪問他自己的帖子,而管理員 - 所有帖子。我通常使用兩種變體:1.設置單獨的管理面板命名空間或2.使用相同的路由,但只隱藏沒有管理員用戶的管理員邏輯。你有什麼理由擁有2個管理員的2條路線?管理員/非管理員角色可以在一條路線上輕鬆處理 – AntonTkachov