0
我正在努力讓用戶收藏文章。允許用戶收藏文章
我創建了一個名爲favorite的模型。
belongs_to :user
belongs_to :post
它存儲user_id和post_id。
我還創建了一個FavoritesController
class FavoritesController < ApplicationController
def create
@post = Post.find(params[:post_id])
current_user.favorite(@post)
end
def destroy
@post = Post.find(params[:id])
current_user.unfavorite(@post)
end
end
我有我的帖子#指數的形式是:
<%= form_for current_user.favorites.build do |favorite| %>
<%= hidden_field_tag :post_id, f.id %>
<%= favorite.button do %>
<i class="fa fa-star-o"></i>
<% end %>
<% end %>
我的用戶模型是這樣的:
# Favorites a post.
def favorite(post)
favorite.create(post_id: post)
end
# Unfavorites a post.
def unfavorite(post)
favorite.find_by(post_id: post).destroy
end
當我嘗試點擊收藏夾時,我會收到:
wrong number of arguments (0 for 1)
Parameters:
{"utf8"=>"✓",
"authenticity_token"=>"HjiANQUqTQVEqy0yzfLFMlnC8RsTiY5kVlvIUnD5OSIaSYSi4ELSuC95vRMIBA/6W+KvzCWMMXQ==",
"post_id"=>"7",
我在這裏做錯了什麼?還有更好的方法來做到這一點?
錯誤是什麼?一個問題是,在你最喜歡的方法中,你傳遞一個帖子,然後用post_id調用create。 –
@PhilipHallstrom所以我試圖改變最喜歡的方法從最喜歡的收藏夾,現在它重新加載但沒有任何反應。它說線:43這是我最喜歡的(後) – user2755537
你不能使用'收藏夾',因爲它已被定義爲「使用有很多收藏夾」的一部分。 –