Zunächst einmal möchte ich sagen, dass ich weiß, dass diese genaue Frage hier bereits gestellt wurde. Aber sie wurde nicht beantwortet und ich möchte keinen alten Thread von vor einem Jahr wiederbeleben.
Zweitens bin ich nicht daran interessiert, Plugins zu verwenden, ja, ich möchte das Rad neu erfinden. Ich schreibe diesen Blog, um Ruby on Rails zu lernen.
Ich versuche, das Verhalten des Anhängens von Tags an einen Beitrag in meiner Rails-App nachzubilden.
Das Formular für die Beiträge sieht folgendermaßen aus:
<%= form_for @post do |post_form| %>
...
<%= render :partial => 'tags/form',
:locals => { :form => post_form } %>
...
<% end %>
Und das Tags-Formular wie folgt:
<%= form.fields_for :tags do |tag_form| %>
<%= tag_form.label :tags, 'Tags' %> (durch Kommas getrennt)
<%= tag_form.text_field :tags %>
<% end %>
Das Problem, auf das ich stoße, ist, dass "tags" kein Feld in meiner Post-Klasse ist. Meine Post- und Tag-Modelle haben HABTM-Beziehungen mit PostsTagsJoinTable dazwischen. Daher muss ich irgendwie das Tags-Textfeld analysieren (mit string.split(',')) und die resultierenden Tag-Strings an meinen Controller übergeben, damit mein Controller die Tags zusammen mit dem neuen Blog-Beitrag erstellen und verknüpfen kann.
Sind meine Ansichten richtig eingerichtet? Wie sollten meine Controller aussehen? Insbesondere die Post.create Methode.
Danke!