Historia wyszukiwań + czas wyszukiwań i daty

Witam,

Utworzyłem aplikację, która wyszukuje anagramy w załadowanym pliku słownika.
Doszedłem do tego jak wyszuwikać anagramy, natomiast nie podoba mi się mój kod.
Pełny kod: https://github.com/regedarek/anagramfinder
Demo: http://anagramfinder.heroku.com/

W kilku miejscach poszedłem na około i jeżeli możecie mnie poprawić będę wdzięczny za informację jak

  1. zgrabnie pozbyć tych if … else
  2. jak poprawnie wyświetlić wynik => “= p = anagrams(wynik, list)” - jak z takiej zmiennej wyciągnąć pojedyncze wyniki
  3. chciałem, żeby ładował się ostatnio załadowany słownik dlatego dodałem @ile czyli liczbę słowników przy .last wyrzuca mi błędy

4. Najważniejsze - chcę dostać historię ostatnich wyszukiwań oraz to ile czasu każde słowo się wyszukiwało i kiedy nastąpiło wyszukiwanie

Podejżewam, że trzeba użyć jQuery, czy możecie mnie naprowadzić jakoś?

class AttDictsController < ApplicationController def index @att_dict = AttDict.new @att_dicts = AttDict.all end ...

[code=ruby]Anagram Finder

  • if AttDict.find(:all).empty?
  • else
    = AttDict.find(@ile).file

= form_for @att_dict, :html => {:multipart => true} do |f|

  • if @att_dict.errors.any?

    .field
    = f.file_field :file
    .actions
    = f.submit “Dodaj słownik”

= form_tag att_dicts_path, :method => ‘get’ do
%p
= text_field_tag :search, params[:search]
= submit_tag “Search”, :name => nil

  • if params[:search] == nil
  • else
    • wynik = params[:search]
      %br
    • list = File.read(Rails.root.join(‘public’ + AttDict.find(@ile).file.to_s)).split("\n")
      = p = anagrams(wynik, list)[/code]

“Doszedłem do tego jak wyszuwikać anagramy, natomiast nie podoba mi się mój kod.”

[code]#

  • if AttDict.find(:all).empty?

  • else

= AttDict.find(@ile).file[/code]
nie lepiej po prostu

[code]- if AttDict.all.present?

= AttDict.find(@ile).file[/code]
albo np po co AttDict.find(:all) nie lepiej po prostu AttDict.all

- if params[:search] == nil - else - wynik = params[:search] %br - list = File.read(Rails.root.join('public' + AttDict.find(@ile).file.to_s)).split("\n") = p = anagrams(wynik, list)
nie lepiej ?

- if params[:search].present? %br = p = anagrams(params[:search], File.read(Rails.root.join('public' + AttDict.find(@ile).file.to_s)).split("\n"))
wiem ze czepiam się głupot ale to mnie zawsze irytowało :stuck_out_tongue:
w ogóle to dalej mi się to nie podoba heheh to by trzeba napisać po prostu od nowa :stuck_out_tongue: