Built a functioning ajax call for wallet_0 on api_list.html + _wallet_settings.html.erb. However value data is not being returned. Documentation on this is sparse at best and this may prove to be a blocking problem.
Discovered that form_tag elements cannot contain <td> elements. Thus using a form_tag and jquery-ujs functionality ruins the layout. Also learned that jQuery does not see new page elements. So loaded partials are not seen and thus cannot trigger jQuery functions. This must be worked around.
Built out the basic jquery ajax function to call apis/set_wallet and pass data on all wallet checkboxes.
Ran migration to swap api's wallet_id column type to string from int. Is reversible.
Migrated wallet_id type to text from string. Is reversible. Text allows for hash serialization.
Embedded corp_id and api_id in the first two table elements on the wallet_settings partial.
Removed the @index local from wallet_settings.js.erb. The partial still renders properly, it would appear that the partial natively has access to the controller method's variables.
Due to the form_tag's layout breaking lack of table columns, a new jQuery function was added to apis.js to retrieve checkbox states from the _wallet_settings partial and fire an AJAX call at apis#set_wallet.
Built up set_wallet method to handle the AJAX call against it. The params are parsed, api updated, corp queried for wallet names and wallet names are made available in plain text.
set_wallet.js.erb targets the proper API's selected wallet column and replaces the content with the _set_wallet partial. The set_wallet partial iterates through the returned name array and prints each one.
Extracted wallet name retrieval mechanics from set_wallet method and placed them in a private method. This allows for the apis controller to be DRY when rendering the wallet partial directly to api_list.html.erb. Doing this requires that api_list.html.erb be refactored to utilize controller models instead of making db queries from the view.
Removed unncessary locals from the render commander in set_wallet.js.erb.
Refactored api_list to use a controller built API array instead of building it's own. Added the set_wallet partial to the selected wallet column on the corporation branch of api_list. Refactored apiscontroller#show to build an API array at @apis for api_list and a wallet names hash at @wallet_names for the set_wallet partial. Refactored apiscontroller#wallet_names to build an array of wallet names. Refactored  apiscontroller#set_wallet to build a wallet names hash at @wallet_names for the set_wallet partial.
Added index counters to the api and corp ID'd columns on _wallet_settings. Added detection for them in apis.js. This fixed a bug where the top most open wallet_settings partial's names were being rendered in place of an API's proper wallet names.
Refactored set_wallet to properly iterate through the new wallet_name hashes being sent to it. Formatting logic was retained. Code comments have been added.
set_wallet.js.erb: Added an explanatory comment and refactored references to @index to handle the fact that it is now an array instead of an int.
Cleared out commented out code from _wallet_settings partial.
Added in a string extension to convert to booleans. This is currently only used on _wallet_settings.html.erb
Built out functionality in _wallet_settings.html.erb to have check boxes checked if the value is true in the api.wallet_id hash. This feature allows easy addition or subtraction of monitored wallets. A string extension was added to remedy an unknown problem causing booleans to be serialized as strings in the api.wallet_id hash.