Skip to content

Conversation

jordan-smith721
Copy link
Contributor

@jordan-smith721 jordan-smith721 commented Jan 9, 2025

Pull Request Info

PR Reviewing Guidelines

JIRA - https://jira.mongodb.org/browse/DOCSP-46072
Staging - https://deploy-preview-82--docs-mongoid.netlify.app/data-modeling/associations/#association-behaviors

Self-Review Checklist

  • Is this free of any warnings or errors in the RST?
  • Did you run a spell-check?
  • Did you run a grammar-check?
  • Are all the links working?
  • Are the facets and meta keywords accurate?

Copy link

netlify bot commented Jan 9, 2025

Deploy Preview for docs-mongoid ready!

Name Link
🔨 Latest commit 2f749b6
🔍 Latest deploy log https://app.netlify.com/sites/docs-mongoid/deploys/6785637050481a0008a89f54
😎 Deploy Preview https://deploy-preview-82--docs-mongoid.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link
Contributor

@mongoKart mongoKart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice job on a super long page. i tried to leave suggestions for all fixes so i hope it doesn't take long to update

Comment on lines 522 to 523
When working with associations in {+odm+}, there are various behaviors that
allow you to customize how associations are handled in your application. The following
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i: there are

Suggested change
When working with associations in {+odm+}, there are various behaviors that
allow you to customize how associations are handled in your application. The following
You can use {+odm+} to customize how associations behave in your application.
The following

:start-after: # start-embedded-destroy-all
:end-before: # end-embedded-destroy-all

Association Behaviors
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

q: is 'behaviors' a technical term here, or just a general way to describe how associations work? if it's the latter, something like 'Customize Association Behavior' might be clearer.


When working with associations in {+odm+}, there are various behaviors that
allow you to customize how associations are handled in your application. The following
sections describe common association behaviors.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s:

Suggested change
sections describe common association behaviors.
sections describe ways to customize association behaviors.

:language: ruby
:start-after: # start-extensions
:end-before: # end-extensions
:emphasize-lines: 4-6
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

q: are there any requirements or recommendations for extensions (what they're called, where they're defined, what they do, etc)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From the way I understand it, extensions are basically just methods that can be whatever you define

Comment on lines 543 to 544
association. This is useful when you want to use a different name for an
association than the name of the class. The following example uses the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s:

Suggested change
association. This is useful when you want to use a different name for an
association than the name of the class. The following example uses the
association. This is useful when you want to name the association something other
than the name of the class. The following example uses the

Comment on lines 831 to 833
- ``_target``: Contains the proxied document or documents
- ``_base``: Contains the document on which the association is defined
- ``_association``: Contains information about the association
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s:

Suggested change
- ``_target``: Contains the proxied document or documents
- ``_base``: Contains the document on which the association is defined
- ``_association``: Contains information about the association
- ``_target``: The proxied document or documents
- ``_base``: The document on which the association is defined
- ``_association``: Information about the association

* - ``Association#name``
- Returns the association name.
* - ``Association#options``
- Returns self, for API compatibility with ActiveRecord.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s: ?

Suggested change
- Returns self, for API compatibility with ActiveRecord.
- Returns ``self``, for API compatibility with ActiveRecord.

* - ``Association#inverse_type_setter``
- Returns the name of the polymorphic-type field's setter of the inverse.
* - ``Association#key``
- Returns the name of the field in the attribute's hash used to get the association.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Returns the name of the field in the attribute's hash used to get the association.
- Returns the name of the field in the attribute's hash that is used to get the association.

* - Method
- Description
* - ``Association#as``
- Returns the name of the parent to a polymorphic child.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s: i would leave 'returns' off of all of these rows

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed it from most rows but left it on the "Returns whether xyz" ones since they feel like they make less sense without "return"

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you could start with 'Whether...' if you wanted to, but either way is probably fine

Copy link
Contributor

@mongoKart mongoKart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM w/ 1 change

association. {+odm+} saves the documents to the database and they will appear
in associated memory, however, the documents are not present when the
association is queried in the future.
in associated memory, however, you won't see the documents when querying the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I: comma splice

Suggested change
in associated memory, however, you won't see the documents when querying the
in associated memory. However, you won't see the documents when querying the

@jordan-smith721 jordan-smith721 merged commit 491c4ce into mongodb:standardized Jan 13, 2025
4 of 5 checks passed
@jordan-smith721 jordan-smith721 deleted the DOCSP-46072-associations-pt2 branch January 13, 2025 19:28
rustagir added a commit that referenced this pull request Jan 28, 2025
* DOCSP-42732: qs

* fix

* wip

* remove action

* NR suggestion

* DOCSP-42732: qs download

* wip

* adapt for sinatra

* vale fix

* snooty landing page

* MW PR fixes 1

* DOCSP-42733: atlas prep qs

* MW PR fixes 1

* DOCSP-42735: configure cxn

* small fix - vale

* JS PR fixes 1

* DOCSP-44008: read/write sinatra quickstart

* fixes

* NR PR fixes 1

* DOCSP-43961: rails qs

* vale

* ordering

* small fix

* MW PR fixes 1

* small fixes

* MW PR fixes 2

* DOCSP-44647: add to existing app

* fix vale action

* vale fixes

* depth

* MW PR fixes 1

* fixes

* DOCSP-42745: interact with data drawer

* tags

* fix vale action

* remove extra word

Co-authored-by: Nora Reidy <nora.reidy@mongodb.com>

* DOCSP-42753: specify query part 1

* vale

* title

* code edits

* MW PR fixes 2

* DOCSP-44849: modify results

* vale

* JS PR fixes 1

* fix

* fix

* list fixes

* MW PR fixes 1

* DOCSP-44954: scoping

* add landing page

* link

* vale

* highlighting

* DOCSP-44821: specify a query pt 2

* MR PR fixes 1

* wip

* wip

* wip

* small fixes

* DOCSP-42767 Aggregation (#57)

* DOCSP-42774: transactions

* vale

* link text

* MW PR fixes 1

* MR PR fixes 1

* DOCSP-45306: model data drawer

* DOCSP-45330: inheritance (WIP)

* MR PR fixes 2

* try using roles

* wip

* vale

* add label

* fixes

* fix

* small fixes - MW

* DOCSP-45358: documents

* fix

* wip

* wip

* DR tech review 1

* page fmt

* page fmt

* SA PR fixes 1

* MR PR fixes 1

* DR small fix

Co-authored-by: Dmitry Rybakov <160598371+comandeo-mongo@users.noreply.github.com>

* DOCSP-45360: nested attributes (#71)

* DOCSP-45360: nested attributes

* vale + fixes

* fixes

* NR PR fixes 1

* DOCSP-45362: text search (#72)

* DOCSP-45362: text search

* wip

* vale

* MM PR fixes 1

* DOCSP-45436 Field Behaviors page (#68)

* DOCSP-45363: validation (#73)

* DOCSP-45363: validation

* keywords

* wip

* SA PR fixes 1

* DOCSP-44794 Field Types (#69)

* DOCSP-45357 Sharding Configuration (#76)

* DOCSP-42762: Indexes (#74)

* DOCSP-45367 Associations pt. 1 (#79)

* DOCSP-45368: Persistence Configuration (#77)

* DOCSP-45361: callbacks (#75)

* DOCSP-45361: callbacks

* wip

* wip

* wip

* NR PR fixes 1

* DOCSP-45364: CRUD pt 1 (#81)

* checkpoint

* checkpoint 2

* woohoo first pass

* indent

* Edits

* updates

* vale chekcs

* RR PR fixes 1

* fix code file

* code fixes

* RM PR fixes 1

---------

Co-authored-by: rustagir <rea.rustagi@mongodb.com>

* DOCSP-45110: queries subsections (#80)

* DOCSP-45110: queries misc sections

* wip:

* vale

* MR PR fixes 1

* GM PR fixes 1

* DOCSP-46072 Associations part 2 (#82)

* DOCSP-46394: CRUD remaining sections (#83)

* DOCSP-46394: CRUD remaining sections

* vale fixes

* JS PR fixes 1

* DOCSP-46213: bump to rails 8 and remove old tuts (#84)

* DOCSP-45356: i&h + code doc (#86)

* DOCSP-45356: i&h + code doc

* remove contributing

* vale fixes

* link fix

* vale fixes + RM comment

* DOCSP-42770: release notes/whats new (#87)

* DOCSP-42770: release notes/whats new

* fixes

* fixes

* DOCSP-42773: api links (#88)

* DOCSP-42773: api links

* fix

* link fixes

* DOCSP-42772: compatibility (#90)

* DOCSP-42772: compatibility

* small fix

* small fix

* SA PR fixes 1

* delete files for old build system

* column width adjustment

* DOCSP-45366 Encryption (#89)

* DOCSP-42741: config pages (#91)

* DOCSP-42741: config

* wip

* wip

* some vale fixes

* RM PR fixes 1

* small fix

* DOCSP-46555: rails integration (#92)

* wip

* DOCSP-46555: rails integration

* RM PR fixes 1

* DOCSP-45359 External Resources (#94)

* add additional resources page

* edits

* feedback

* DOCSP-42743 Collection config (#95)

* DOCSP-42730: landing page (#96)

* DOCSP-42730: landing page

* MW PR fixes 1

* small fix

* small fix

* small fix

* DOCSP-46121: cleanup (#97)

* cleanup

* copy compat action

* redirects

* MW PR fixes 1

* add index section

* change vs in redirects

---------

Co-authored-by: Nora Reidy <nora.reidy@mongodb.com>
Co-authored-by: Jordan Smith <45415425+jordan-smith721@users.noreply.github.com>
Co-authored-by: Dmitry Rybakov <160598371+comandeo-mongo@users.noreply.github.com>
Co-authored-by: Maya Raman <maya.raman19@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants