in primo luogo se non si vuole gestire categorie nell'applicazione, allora si può semplicemente aggiungere un campo categoria della tabella e la categoria selezionate nell'applicazione:
<%= f.select :category, [ 'Box', 'Cover', 'Poster' ], :prompt => 'Select One' %>
Seconda , Se vuoi gestire le categorie nella tua applicazione, devi tenere un modello e una tabella separati per essa. Quindi puoi iniziare a generare il tuo modello:
rails g model category
aggiungerà modello e migrazione nella directory dell'applicazione. Aggiungi elementi per la migrazione:
class CreateCategories < ActiveRecord::Migration
def change
create_table :categories do |t|
t.string :name
t.text :description
## you can add more stuff as per your requirements
t.timestamps
end
end
end
Definire associazioni nella categoria & modello Pin aggiungere convalida per questo: -
In Category Model:
has_many :pins
In Pin Model :
belongs_to :category
validates :category, presence: true
Creare alcune categorie di controller di categorie e la forma (non credo, ho bisogno per dirvi che roba, siete in grado di farlo da soli)
Nella vostra forma uploading pin Aggiungi questo selezionare: -
<%= f.select :category, Category.all, :prompt => "Select One" %>
Sperare, sarà d'aiuto.
fonte
2013-07-20 05:16:31
Rails Guy you Rock, grazie mille. Ma ho una domanda: ho fatto tutto quanto sopra. Ora, creo un controller di categorie? non permetterebbe agli utenti di creare anche categorie? Sry se questa domanda ti sembra troppo noiosa, sono abbastanza nuova per Rails. Grazie –
Sì, è possibile aggiungere, rimuovere, modificare ed eliminare le categorie. Aggiungi i tuoi metodi nel controller e nei modelli nelle visualizzazioni. Ora sei a posto. Si prega di accettare la risposta se si ottiene quello che stavi cercando. Grazie. –
Penso che tu non mi abbia capito bene !, Sono abbastanza nuovo da Rails e ho qualche problema a capire. Sry per quello. Ora, se creo un controller, l'utente ha la possibilità di andare su site.com/categories e creare categorie. Non lo voglio Voglio solo impostare le categorie e l'utente deve solo scegliere dall'elenco. –