Pergunta

novato aqui, primeiro post.

Eu passei apenas como 4 horas tentando atribuir uma categoria a uma mensagem (a experimentar uma coisa normal blog) através de botões de rádio, sem sucesso. A associação está funcionando bem e, finalmente, eu consegui fazê-lo funcionar com um menu de seleção, mas por alguma razão, parece botões de rádio simplesmente não são feitos para isso.

Eu realmente não gosto de usar um seleto menu para isso porque eu só tenho 4 categorias e ter que clicar duas vezes para selecionar um único é um clique demasiados. Então, eu realmente gostaria de usar o rádio botões em vez.

Eu verifiquei a outra pergunta sobre o assunto e procurou o sentido web mas só me ajudou a obter um conjunto mais diversificado de erros: métodos indefinidos, AssociationTypeMismatch, category_ids de 0, o nome dele. Então eu desisti para hoje e decidiu criar uma conta e ver se alguém pode quebrar este. Qualquer ajuda será apreciada.

Graças.

Foi útil?

Solução

Aqui vamos nós. Em RailsCasts Episódio 17 Ryan usa habtm e caixas de seleção para fazer esse tipo de coisa. I modificado para usar belongs_to e botões de rádio. Agradecimentos para o exercício.

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

Depois Modelo

Class Post < ActiveRecord::Base
   belongs_to :category
End

Post Criar Vista (removido da caixa de texto padrão para 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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top