2015-12-20 76 views
-1

我有練習和用戶模型。用戶可以通過SharedExercise模型相互分享他的練習。鍛鍊可以是公開的或私人的,並且允許用戶將公共練習添加到他們的私人練習中。我需要添加簡單的鏈接/按鈕來做到這一點,但不知道如何。如何通過link_to方法向數組添加新元素

進出口尋找類似:

def add 
    @exercise = Exercise.find(params[:id]) 
    current_user.exercises << @exercise 
end 

但如何傳遞鏈接/按鈕?

+0

這是一個控制器方法。鏈接應該在視圖中。目前還不清楚你想要做什麼。 – halfdan

+1

你的問題似乎有點類似[實現添加到收藏夾](http://stackoverflow.com/questions/13240109/implement-add-to-favorites-in-rails-3-4) - 你可以研究提議實施並從中推斷 –

回答

1

在習題控制器你可以得到誰已經被分配給這項工作,並添加CURRENT_USER這個陣列本練習的下一個更新的用戶陣列...

類似的東西:

def add_user 
@exercise = Exercise.includes(:user_ids).where(id: params[:id]) 
@user_ids = @exercise.user_ids 
[email protected]_ids.index(params[:user][:id]) && @exercise.user_ids = @user_ids.push(params[:user][:id]) 
... 
if @exercise.update_attributes(@user_ids) 
    redirect_to ... 
+0

謝謝,這不是我正在尋找的東西,但它幫助我找到了正確的方法! – weezing