Ich arbeite an einem Formular, wo Benutzer Land auswählen und dort Auswahl angezeigt werden kann und show.html.erb.Rails: Speichern country_select to database
Ich habe hinzugefügt country_select in meiner Form wie dieses
<div class="col-md-4">
<div class="form-group">
<%= f.country_select :country %>
</div>
Mein Modell article.rb wie folgt aussieht:
class Article < ActiveRecord::Base
belongs_to :author
has_many :article_article_categories
has_many :categories, through: :article_article_categories
validates :title, presence: true, length: { minimum: 3, maximum: 50 }
validates :description, presence: true, length: { minimum: 10, maximum: 500 }
validates :author_id, presence: true
attr_accessor :country
end
Die ausgewählten Werke und der Benutzer kann das Land auswählen. . Perfekt!
Aber es wird nicht in meiner Sicht/show.html.erb up .. Ich habe wie folgt versucht:
<%= @article.country %>
So dafür ich eine Migration generiert:
class AddCountryToArticles < ActiveRecord::Migration[5.0]
def change
add_column :article, :country, :string
end
end
Und hat die Migration ausgeführt.
In meinem Controller habe ich das meinem params:
def article_params
params.require(:article).permit(:country, :title, :description, article_article_categories_ids: [])
end
Aber ich nichts bekommen .. Bei country_select Dokumentation unter Nutzung: "Einfache Anwendung liefert Modell und Attribut als Parameter: country_select (" user "," country ")"
Aber ich weiß nicht wirklich, wo ich diese Codezeile setzen soll. Ich habe versucht, es in meine create, show und params zu bringen. Und mit ("Artikel", "Land")
Kann mir jemand helfen, einen Schritt näher zu kommen? Ich denke auch installiert .. Vielleicht könnte das etwas Ärger verursachen? Ich bin mit Schienen 5.0.0
warum definieren Sie 'country' als 'attr_accessor'? Was Sie sagen, zeigt an, dass' country' nicht richtig gespeichert wird. Das Überprüfen des Rails-Logs, um zu sehen, ob der Parameter durch den Controller geleitet wird, ist hilfreich. – kasperite
Hält es das Land wirklich? check in deine Rails Konsole ('rails console') mit:' Article.pluck (: country) ' –