2010-07-23 6 views
0

Je suis en train de lire "Développement Web Pragmatique Agile avec Rails (2ème édition)" et en essayant des exemples de ce livre. Mais quand j'essaie un exemple, j'ai une erreur.Créer une vue pour le modèle

Alors:

  • J'ai créé un modèle pour un produit

    ruby script/generate model product 
    

    Rempli les champs:

    class CreateProducts < ActiveRecord::Migration 
    def self.up 
        create_table :products do |t| 
        t.column :title, :string 
        t.column :description, :text 
        t.column :image_url, :string 
        end 
    end 
    
    def self.down 
        drop_table :products 
    end 
    end 
    

    DB généré:

    rake db:migrate 
    
  • Ensuite, j'ai creaded la vue:

    ruby script/generate controller admin 
    

    Ajouté ligne à la vue:

    class AdminController < ApplicationController 
        scaffold :product 
    end 
    

Je googled et trouvé cette solution:

ruby script/generate scaffold product title:string description:text image_url:string 

Mais je ne suis pas sûr que c'est une bonne façon. Quelle est la «vraie façon» de créer une vue pour la table des produits?

+0

générateur Scaffold peut être utilisé comme base pour le développement futur, non seulement des vues, mais aussi des modèles et des contrôleurs . Il va créer toute la structure MVC du modèle particulier. Lorsque vous faites les premiers pas avec des rails, cela semble être la meilleure solution. Ensuite, vous déciderez si cela vous convient ou non – fantactuka

Répondre

2

scaffold La méthode a été supprimée de Rails depuis la version 2.0. Depuis lors, il faut utiliser le générateur pour les échafaudages.

1

Pour créer un exemple que vous souhaitez simplement exécuter

ruby script/generate scaffold Product title:string description:text image_url:string 

Cela va générer la structure MVC pour les produits

+0

Les virgules ne sont pas nécessaires ici. voir la solution de travail de l'auteur. –

+0

Mis à jour, merci – fantactuka

Questions connexes