Tôi đang xem RailsCast về các liên kết đa hình. http://railscasts.com/episodes/154-polymorphic-association?view=asciicast
Có ba mô hình khác nhau Bài viết, Ảnh và Sự kiện mà mỗi người có nhận xét từ Comment.rb. (Bài viết, Ảnh và Sự kiện của mỗi article_id, photo_id và event_id). Trong danh sách các ý kiến anh ấy có vấn đề tìm ra 3 mô hình để liệt kê các ý kiến cho, vì vậy ông thực hiện điều này trong action index
def index
@commentable = find_commentable
@comments = @commentable.comments
end
def find_commentable
params.each do |name, value|
if name =~ /(.+)_id$/
return $1.classify.constantize.find(value)
end
end
nil
end
Câu hỏi của tôi là, là những gì $1
?
chỉ được tạo khi sử dụng toán tử dấu ngã bằng nhau ?? –
Có, '$ 1',' $ 2', v.v. phù hợp với nhóm thứ nhất, thứ hai, v.v. trong biểu thức chính quy cuối cùng - xem liên kết trong câu trả lời. Rubocop đề xuất sử dụng 'Regexp.last_match (n)' thay vào đó (chú ý n là 0, vì vậy '$ 1' ==' #last_match (0) ' – MatzFan