Я настраиваю модель пользователя, веб-сайта и тега, но не уверен в правильности ассоциаций?
Это приложение CRUD, в котором я хочу позволить Пользователю создать «веб-сайт» (по сути, закладку) и иметь возможность добавить «тег» к этому веб-сайту, чтобы веб-сайты могли быть отфильтрованы.
У меня есть три таблицы: User
, Website
, Tag
Я хочу, чтобы у пользователя было много веб-сайтов, на сайте много тегов, теги принадлежат сайту, а у пользователя много тегов на сайтах.
У меня уже установлены следующие модели:
class User < ActiveRecord::Base
has_many :websites
has_many :tags, through: :websites
end
class Website < ActiveRecord::Base
belongs_to :user
has_many :tags
end
class Tag < ActiveRecord::Base
belongs_to :website
end
Я сохраняю тег с помощью почтового запроса:
post '/websites' do
if logged_in?
if params[:content] == ""
redirect to "/websites/new"
else
@website = current_user.websites.build(content: params[:content])
binding.pry
@tag = current_user.tags.build(content: params[:dropdown])
if @website.save && @tag.save
redirect to "/websites/#{@website.id}"
else
redirect to "/websites/new"
end
end
else
redirect to '/login'
end
end
Когда я проверяю params
на binding.pry
, это дает мне, как и ожидалось:
{content=>"tryingtoaddtag.com", "dropdown"=>"Clothing"}
Я ожидаю, что смогу сохранить экземпляр пользователя и затем использовать @user.tags
, чтобы показать все теги, связанные с веб-сайтами этого пользователя. Я не могу понять, где я облажался. Спасибо.