КомандаЧто означает этот Ruby-код?
rails generate scaffold Post name:string title:string content:text
генерируется следующий файл: 20101109001203_create_posts.rb
class CreatePosts < ActiveRecord::Migration
def self.up
create_table :posts do |t|
t.string :name
t.string :title
t.text :content
t.timestamps
end
end
def self.down
drop_table :posts
end
end
Поскольку я новичок в Ruby (только для чтения one book), у меня есть несколько вопросов по этому блоку кода:
Что делает
self.
означает вself.up
иself.down
? Как это отличается от простогоup
иdown
?Что все эти двоеточия (
:
) означает в:posts
,:name
и т. Д.? Это просто часть имени переменной?Что означает
t.string :name
? Это вызов функцииstring
на объектеt
с параметром:name
?
Большое спасибо!
Большое спасибо! 1,3 - Понятно. Что касается 2: Это какой-то знак «goto»? Где находится код, который определен под этими метками? Это правда, что эти метки должны начинаться с двоеточия? Не могли бы вы указать мне на рубинский учебник по этой теме? Еще раз спасибо!! –
@ Миша: Нет, ничего подобного. Как я уже сказал, они похожи на струны голых костей. И да, им нужно начинать с двоеточия. – sepp2k
ОК, я думаю, что понял. ': name' точно так же, как строка' 'name" ', но без каких-либо строковых функций. Благодаря ! –