Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Support for HashWithIndifferentAccess / Symbolized Keys

Đang mở
#142 6 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
rails, ruby
Lĩnh vực
database

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện ví dụ giá trị mặc định của map_attr với các key symbol và ví dụ ERB my_data.except(:name). Truy vết các entry point của map_attr và các entry point hướng tới view được đề cập trong issue, sau đó xác định hành vi được hỗ trợ khi có và không có ActiveSupport. Được xem là hoàn thành khi các dạng key symbol và key string được yêu cầu hoạt động nhất quán, hoặc khi giới hạn được hỗ trợ và tùy chọn được ghi lại.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

feature-request

One of the predominant use cases of this SDK is IMHO writing Rails applications. Therefore it would make sense that this SDK supports Rails conventions as much as much as possible. Unfortunately it doesn't do that currently in term of keys as symbols vs strings.

The desirable version
map_attr :my_data, default_value: { items: [] }

throws an error while, as the syntax required is
map_attr :my_data, default_value: { 'items' => [] }.

Same for ERB:
<% my_data.except(:name).keys.each do |key| %>

does not work but needs to be
<% my_data.except("name").keys.each do |key| %>

This is very un-rails-y, both in models as in views, as using HashWithIndifferentAccess gives you at least both options. If you don't want to support this out of the box due to the dependency to ActiveSupport, I would at least making an option when ActiveSupport is available (or automatically use it).

Ngôn ngữ chính
Ruby
Star
318
Fork
44
Merge trung bình
3 ngày 15 giờ
Pull request đã merge (30 ngày)
4

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của aws/aws-record-ruby

Tất cả issue của aws/aws-record-ruby

Issue tương tự

Thêm issue về Ruby

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.