Я новичок в Ruby. Я предоставляю ниже фрагмент кода, который я хочу знать о значении синтаксиса. Я знаю семантику, в некотором смысле, что я могу запустить полный код длины и посмотреть, что произойдет. Но я не совсем понимаю, что такое языковая конструкция.Замешательство синтаксиса Ruby
class Product < ActiveRecord::Base
include ActsAsTree
self.primary_key = 'id'
acts_as_tree foreign_key: 'product_id'
Вопросы следуют:
- Является
ActiveRecord
модуль обеспечиваетActiveRecord
драгоценный камень? - Есть
ActiveRecord::Base
класс, содержащийся вActiveRecord
модуль? - Есть
primary_key
признакActiveRecord::Base
класс? - Последняя строка кода сбивает меня с толку.
acts_as_tree
- это имя драгоценного камня. Почему это предшествует в заявлении? А что за чертforeign_key: 'product_id'
? Почему существует двоеточие (:) разделитель между ними? Что представляет собой формулировка языка?
Могу я предложить прочитать материал [источник] (http://guides.rubyonrails.org/active_record_basics.html) и посмотреть, на сколько ответов на ваши вопросы? – MCBama
4) Потому что это не * просто * название драгоценного камня - это также метод класса.Это аргумент карты 'act_as_tree'. Я бы сильно подумал о том, чтобы укрепить некоторые основы Ruby. –
'act_as_tree foreign_key: 'product_id'' равно' act_as_tree (: foreign_key =>' product_id ') ' –