0

私はルビーに完全に慣れていませんが、データベースの作成方法を理解しました。これは私がしました

rails generate scaffold MYTABLENAME

そしてdb/migrateでファイルを編集して、列などを追加しました。

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :username
      t.string :password
      t.string :email
      t.timestamps
    end
  end
end

これは正しいですか?

今、私はこの出力を得ました:

  invoke  active_record
  create    db/migrate/20130325134909_create_posts.rb
  create    app/models/post.rb
  invoke    test_unit
  create      test/unit/post_test.rb
  create      test/fixtures/posts.yml
  invoke  resource_route
   route    resources :posts
  invoke  scaffold_controller
  create    app/controllers/posts_controller.rb
  invoke    erb
  create      app/views/posts
  create      app/views/posts/index.html.erb
  create      app/views/posts/edit.html.erb
  create      app/views/posts/show.html.erb
  create      app/views/posts/new.html.erb
  create      app/views/posts/_form.html.erb
  invoke    test_unit
  create      test/functional/posts_controller_test.rb
  invoke    helper
  create      app/helpers/posts_helper.rb
  invoke      test_unit
  create        test/unit/helpers/posts_helper_test.rb
  invoke  assets
  invoke    coffee
  create      app/assets/javascripts/posts.js.coffee
  invoke    scss
  create      app/assets/stylesheets/posts.css.scss
  invoke  scss
  create    app/assets/stylesheets/scaffolds.css.scss
   invoke  active_record
  create    db/migrate/20130325134909_create_posts.rb
  create    app/models/post.rb
  invoke    test_unit
  create      test/unit/post_test.rb
  create      test/fixtures/posts.yml
  invoke  resource_route
   route    resources :posts
  invoke  scaffold_controller
  create    app/controllers/posts_controller.rb
  invoke    erb
  create      app/views/posts
  create      app/views/posts/index.html.erb
  create      app/views/posts/edit.html.erb
  create      app/views/posts/show.html.erb
  create      app/views/posts/new.html.erb
  create      app/views/posts/_form.html.erb
  invoke    test_unit
  create      test/functional/posts_controller_test.rb
  invoke    helper
  create      app/helpers/posts_helper.rb
  invoke      test_unit
  create        test/unit/helpers/posts_helper_test.rb
  invoke  assets
  invoke    coffee
  create      app/assets/javascripts/posts.js.coffee
  invoke    scss
  create      app/assets/stylesheets/posts.css.scss
  invoke  scss
  create    app/assets/stylesheets/scaffolds.css.scss

それもいいですね。しかし、なぜそれが自動的に挿入されるのですか?

  app/views/posts/index.html.erb
  app/views/posts/edit.html.erb
  app/views/posts/show.html.erb
  app/views/posts/new.html.erb
  app/views/posts/_form.html.erb

等々?それは標準ですか?もしそうなら-なぜですか?説明してください。

そしてもう1つの質問は次のとおりです:私のホームコントローラー(標準の../home/indexとして)で、新しい新しいデータベースにユーザーを作成しようとしましたが、初期化されていない定数HomeController :: Users-なぜですか?

これが私のコードです:

 class HomeController < ApplicationController
     def index
      #@users = User.all
        o = Users.new
        o.username = "Jesper"
        o.save
     end
 end
4

2 に答える 2

1

モデルを生成したいだけの場合は、次のことを行う必要があります。

rails generate model MYTABLENAME username:string password:string email:string

スキャフォールディングは、モデルからビューまですべてを生成します(デフォルトのCRUD操作を使用)。http://guides.rubyonrails.org/getting_started.htmlを読む必要があります。このガイドでは、すべての基本事項について説明します。

于 2013-03-25T14:21:10.100 に答える
-1

モデル名は単数である必要があります

class HomeController < ApplicationController

     def index
      #@users = User.all
        o = User.new
        o.username = "Jesper"
        o.save
     end
 end

ユーザーではなくユーザー

于 2013-03-25T14:25:29.887 に答える