Como atribuir uma categoria para um post com botões de rádio, no Rails?
-
21-08-2019 - |
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.
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>