Создание нового блога с тегами - PullRequest
1 голос
/ 29 сентября 2011

Я пытаюсь настроить блог с тегами, и у меня возникла проблема при попытке сохранить.

У меня есть 3 модели

модель блога

has_many :blog_tags
has_many :tags, :through => :blog_tags

модель blog_tag

belongs_to :blog
belongs_to :tag

модель тега

[nothing]

Когда я публикую форму блога, яу меня есть поле ввода с разделенным запятыми списком тегов, которые я хотел бы создать в табеле blog_tags.

Я пробовал разные вещи и закончил с этим

@blog_tags = params[:blog][:tags].split(",")

@blog_tags.each do |tag|
  @tag = Tag.find_by_tag(tag)
  @blog.tags.push(@tag)
end

Кажется, что он работает, кроме того, что он жаловался, что родитель не был создан, и во 2-й попытке он дал мне ошибку за попытку разбить строку "string1", которая, я думаю, вызвана отсутствием запятых.

Я действительно надеюсь, что кто-то из вас может помочь мне здесь или, по крайней мере, направить меня в правильном направлении: -)

Спасибо!

Ответы [ 2 ]

1 голос
/ 29 сентября 2011

Я бы пошел за драгоценным камнем. Попробуйте https://github.com/mbleigh/acts-as-taggable-on, например.

0 голосов
/ 29 сентября 2011

Я думаю, что вам просто нужно обработать случаи, когда params[:blog][:tags] не имеет запятых. В этом случае вся строка представляет собой один тег, поэтому просто добавьте его.

Возможно, вам также придется иметь дело с такими случаями, как "ruby, rails", т.е. убедиться, что теги не пусты.

...