我有3個控制器:站點,用戶&會話。我擁有所有的身份驗證設置,並且我在用戶登錄後將對象current_user設置在了應用程序控制器中。現在,我想要做的只是允許用戶查看他們的站點(站點模型具有:「belongs_to:user 「)。獲取當前用戶的記錄
class SitesController < ApplicationController
def index
#this was Site.all, but I changed it. Is there a better way to do this?
@sites = Site.find_all_by_user_id(current_user.id)
# respond to ... etc
end
# Now, for show, edit and update, I want to ensure the site belongs to the user. How can I add that?
def show
@site = Site.find(params[:id])
# respond to ... etc
end
如果需要更多信息(模型,整個控制器等),請讓我知道,我會告訴你!
謝謝!
看起來不錯!我會做一個Site.where,但我沒有看到你的方法有什麼問題。對於顯示/編輯等,你正在查找ID,也爲用戶ID添加一個where子句。 – aishwarya
那麼,我的主要問題是如何讓用戶編輯他們的網站。我想補充: 高清編輯 @site = current_user.sites.find(PARAMS [:編號]) 結束 但我得到的:mysql ::錯誤: '以條款' 未知列 'published_at':SELECT 'si等 – execv
更改爲Site.where(:id => params [:id],:user_id => current_user)? – aishwarya