Как назначить одну категорию посту с переключателями в Rails? - PullRequest
4 голосов
/ 23 марта 2009

новичок здесь, первый пост.

Я потратил около 4 часов, пытаясь присвоить одну категорию посту (пробуя обычную запись в блоге) с помощью переключателей, но безрезультатно. Ассоциация работает нормально, и, в конечном счете, мне удалось заставить ее работать с меню выбора, но по некоторым причинам кажется, что переключатели просто не предназначены для этого.

Мне действительно не нравится использовать меню выбора для этого, потому что у меня есть только 4 категории, и необходимость щелкнуть дважды, чтобы выбрать одну, - это 1 клик слишком много. Поэтому я бы очень хотел использовать вместо этого переключатели.

Я выбрал другой вопрос по теме и искал в Интернете бессмысленно, но это только помогло мне получить более разнообразный набор ошибок: неопределенные методы, AssociationTypeMismatch, category_ids of 0, вы называете его. Поэтому я сдался на сегодня и решил создать учетную запись и посмотреть, сможет ли кто-нибудь взломать эту учетную запись. Любая помощь будет оценена.

Спасибо.

1 Ответ

3 голосов
/ 23 марта 2009

Вот и мы. В RailsCasts Episode 17 Райан использует habtm и флажки, чтобы делать подобные вещи. Я изменил его, чтобы использовать принадлежащие_ и радио-кнопки. Спасибо за упражнение.

> script/generate scaffold category category_name:string
> script/generate scaffold post post_name:string, post_content:text, category_id:integer

Почтовая модель

Class Post < ActiveRecord::Base
   belongs_to :category
End

Просмотр создания записи (удалено текстовое поле по умолчанию для category_id)

...
<p>
 <% for category in Categories.find(:all) %>
   <div>
       <%= radio_button_tag "post[category_id]", category.id, @post.category_id == category.id %><%= category.name %>
   </div>
 <% end %>
</p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...