2017-02-23 13 views

答えて

0

短いアクティブレコードでは、モデルクラスの各テーブル列のゲッターとセッターメソッドが定義されます。

0

あなたが移行して、あなたのテーブルを作成すると、Railsは自動的に割り当てられますどんなモデルのためのメソッドの名前などの属性/列の名前:あなたが説明した場合

create_table :users do |t| 
    t.string "name" # name will be converted to a method for the Model User 
end 

、データベース列nameは、使用可能なメソッドです。 @user.nameはデータベース列を検索し、@userを設定することに応じて、データベースの名前列に値をチェックします。値があれば、その値をあなたに返します。値がない場合は、nilを返します。

-1

ユーザテーブルにカラム名とメソッド名の両方がある場合、メソッド名が呼び出されます。

たとえば、

class User < ApplicationRecord 
    def name 
    "test" 
    end 
end 

Userテーブル - > name列がのインスタンスメソッドとして、データベースのすべての列名を作るために `アクティブrecord`バイ・デフォルト機能ザッツつのエントリ「モハン」

User.first.name 
"test" #because each column name in user table is getter setter method of ActiveRecord 
関連する問題