Wyświetlanie historii via JS

Witajcie.

Mam w bazie tabelę company_histories z danymi historycznymi wpisów na tabeli companies (wpisy realizowane do tabeli “his…” przez trigger bazy danych).

Chcę jakoś prezentować te dane użytkownikom.
Wymyśliłem sobie, że na formularzu Show wstawię wstawię

  1. poniżej takich np wpisów aktualnego ukrywany dodatek:

    <%= @company.short %>
    his short
    <%= @company.name %>
    his name

itd…, które mają wyświetlać za chwilę historyczne wartość.

  1. Listę wpisów historycznych, którą wymyśliłem tak:

    <%= ff.select( :his_data, @company.company_histories.order(created_at: :desc)
    .collect {|p| [ p.created_at.strftime("%Y-%m-%d %H:%M:%S"),
    p.attributes ] },
    { include_blank: false, multiple: false }, class: ‘form-control’, id: ‘company_histories_list’ ) %>

czyli mam coś takiego:

w JS mogę teraz pobierać wszystkie atrybuty wybranej pozycji z listy i "odmalować je na formularzu np:

$(function() {
  $(document).on('change', '#company_histories_list', function() {

    var selected_pos = $("#company_histories_list :selected");

    var his_short = selected_pos.attr('short');
    var his_name = selected_pos.attr('name');
    // ....tutaj inne atrybuty
    var his_created_at = selected_pos.attr('created_at');

    document.getElementById("history[short]").textContent = his_short;
    document.getElementById("history[name]").textContent = his_name;
    // 
    document.getElementById("history[created_at]").textContent = his_created_at;

  });
});

No działa to, ale bardzo nie podoba mi się :frowning:

Podpowiedzcie proszę
a) Jak pobrać sobie w jakiejś pętli wszystkie attr() pobrane do

var selected_pos = $("#company_histories_list :selected")

b) jak elegancko “odmalować” to na formularzu?
Mam przecież klasę “.history” i ID elementów definiuję jako history[coś tam] …

Z góry dziękuję za pomoc.

Eee, a nie prościej i przede wszystkim przejrzyściej dla użytkownika zrobić changelog pod rekordem? A’la:

  • 2 days ago by user@foo.com:
    • name changed from “Spółka z oo” to “Spóka SA”
    • skrót changed …

Sądzisz, że tak jak proponujesz byłoby “przejrzyściej”? Ja właśnie słyszałem, że chcą mieć na jednym ekranie, jedno pod drugim, by sobie elegancko porównać “stare” dane i aktualne.