У меня есть модель Feed, которая имеет и принадлежит ко многим FilteredUsers. В этом случае я реализовал это через отношение has_many: through.
class Feed < ActiveRecord::Base
has_many :denials, :dependent => :destroy
has_many :filtered_users, :through => :denials
Я хотел бы создать запись, если она не существует, или найти объект, если он существует. Когда я пытаюсь использовать find_or_initialize_by (или find_or_create_by), возникает исключение, говорящее undefined method 'feed_id=' for <FilteredUser..
Вот код:
feed = Feed.find(params[:id])
user = feed.filtered_users.find_or_initialize_by_user_url(params[:user_url])
if params[:status] == "block"
feed.filtered_users << user
else
feed.filtered_users.delete(user)
end
feed.save
Любые предложения о том, как это исправить или как обойти это сухо?
Спасибо!