0
這是目前我喜歡錶:如何有插在不同的表user_ID的(不,不是foregin鍵)
Like Load (0.4ms) SELECT "likes".* FROM "likes"
+----+------------+-------------------------+-------------------------+---------+
| id | article_id | created_at | updated_at | user_id |
+----+------------+-------------------------+-------------------------+---------+
| 1 | 1 | 2014-03-24 19:07:59 UTC | 2014-03-24 19:07:59 UTC | |
| 2 | 2 | 2014-03-24 19:18:59 UTC | 2014-03-24 19:18:59 UTC | |
| 3 | 4 | 2014-03-24 19:19:14 UTC | 2014-03-24 19:19:14 UTC | |
| 4 | 9 | 2014-03-24 19:47:36 UTC | 2014-03-24 19:47:36 UTC | |
+----+------------+-------------------------+-------------------------+---------+
4 rows in set
正如你所看到的,這不是在USER_ID填寫信息時,他們喜歡的文章。
如何在上表中填寫該信息?
這是目前在ArticleController類似方法:
def like_vote
@article = Article.find(params[:id])
@article.likes.create
redirect_to(article_path)
end
我在搞清楚如何在上述的方法,以便插入USER_ID那種迷茫中,LIKE表存儲他們的USER_ID。
幫助?
在這種情況下,需要:這是視圖
<td><%= pluralize(article.likes.count, "like") %></td>
<td><%= button_to '+1', "/articles/#{article.id}/user/#{current_user.id}/like_vote", method: :post %></td>
嘿感謝您的回答!有用。不過,如果你不介意的話,我有一個問題。我真的很困惑'user_id:current_user.id'爲什麼一個人不得不寫這個東西呢?我一直都在看,但我從來沒有完全明白。我的意思是,爲什麼不能'current_user'工作?你有我的問題嗎? – user273072545345
當你創建一個新的對象時,你只需要傳遞屬性來構建實例,在你的情況下,一個'Like'實例需要'article_id'(由@ article.likes.create'自動設置)和'user_id' (把它作爲參數傳遞),就是這樣。這是相同的:Like.create(article_id:@ article.id,user_id:current_user.id) – markets
所以在參數中傳遞它的方式是將它放在括號中? – user273072545345