Tôi mới vào thế giới Ruby và Ruby on Rails. Tôi đã đọc một số hướng dẫn, nhưng tôi đã gặp một số rắc rối với cú pháp sau. Tôi nghĩ rằng việc sử dụng :condition
cú pháp được sử dụng trong Ruby để xác định một thuộc tính lớp với một số loại accessor, như:Điều gì: điều này có nghĩa trong Ruby on Rails?
class Sample
attr_accessor :condition
end
rằng mặc nhiên tuyên bố getter và setter cho các "điều kiện" bất động sản. Trong khi tôi đang xem xét một số mã mẫu Rails, tôi đã tìm thấy các ví dụ sau mà tôi không hiểu đầy đủ.
Ví dụ:
@post = Post.find(params[:id])
Tại sao nó truy cập vào thuộc tính id
với cú pháp này, thay vì:
@post = Post.find(params[id])
Hoặc, ví dụ:
@posts = Post.find(:all)
là :all
một hằng số ở đây? Nếu không, mã này thực sự có ý nghĩa gì? Nếu có, tại sao sau không được sử dụng:
@posts = Post.find(ALL)
Cảm ơn
Vì vậy, có vẻ như với tôi rằng một biểu tượng có vẻ giống như một giá trị Enum trong Java hoặc C#, phải không? – Mark
@Marco: Không, các ký hiệu trong Ruby không có gì giống như các giá trị enum. Chúng giống như các biểu tượng trong Lisp hoặc các ký hiệu trong Smalltalk. –
OK, cảm ơn! – Mark