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
- zgrabnie pozbyć tych if … else
- jak poprawnie wyświetlić wynik => “= p = anagrams(wynik, list)” - jak z takiej zmiennej wyciągnąć pojedyncze wyniki
- 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]
- wynik = params[:search]