Cześć,
Pobieram params[:search]
Jak będzie wyglądał kod, który przy każdym nowym parametrze params[:search] będzie go zapisywał do zmiennej historia ?
Cześć,
Pobieram params[:search]
Jak będzie wyglądał kod, który przy każdym nowym parametrze params[:search] będzie go zapisywał do zmiennej historia ?
Powiedz coś więcej bo nie rozumiem(y). Co to za zmienna “historia”? Chcesz tą historię zapisywać w bazie danych?
[code=ruby]= form_tag att_dicts_path, :method => ‘get’ do
= text_field_tag :search, params[:search]
= submit_tag “Search”, :name => nil
http://guides.rubyonrails.org/ prawdopodobnie nikt Ci nie da gotowego rozwiązania, samemu trzeba podłubać
rozumiem ale czy zapisywanie zmiennych do bazy z poziomu widoku jest możliwe wogóle?
Bo nie wiem czy nie powinienem od nowa zacząć pisać aplikacji
[quote=regedarek][code=ruby]- if params[:search] == nil
Okej, spróbuje to przerzucić do controllera.
Właśnie nie wiem czy potrzebne mi wyszukiwanie bo to przecież tylko wpisanie słowa do formularza aby następnie na jego podstawie uruchomić metodę
- p = anagrams(wynik, list)
jak to więc nazwać
zastanów się, czy pojedyńcze wyszukiwanie nie jest modelem.
[quote=regedarek][code=ruby]- if params[:search] == nil
[code=ruby]- if params[:search].present? # lepiej sprawdzić tak, wtedy jeżeli przypadkiem ustawiłby się np. pusty string i tak kod się nie wykona
dzięki zlw
możesz mnie jakoś naprowadzić jak zapisywać ten parametr p(czyli wyniki) w bazie?
nie zrozumiałem, przepraszam
pzdr
Jeśli chcesz zapisać wynik w bazie, to musisz zrobić:
Poza tym, dwie sprawy:
Jeśli chcesz używać Ruby on Rails, to musisz zrobić:
0. Poczytać o MVC: http://pl.wikipedia.org/wiki/Model-View-Controller
Wybacz, regedarek, jeśli uraziłem, ale sądząc po liczbie Twoich postów na forum, możnaby oczekiwać, że już zapoznałeś się z powyższymi.
Co do mojej sugesti:
Każde wyszukiwanie możesz traktowac jako osobny model Search (tabela searches w bazie danych). Możesz go wygenerować poleceniem:
rails g model Search query:string
model może wyglądać np. tak:
class Search < ActiveRecord::Base
def self.recent(limit=5)
order('created_at DESC').limit(limit).map(&:query)
end
end
W kontrolerze, w akcji w której WYKONUJESZ wyszukiwanie (jest dostępny params[:search]):
Search.create!(:query => params[:search])
W kontrolerze, w akcji, gdzie chcesz wyświetlać, ostatnie wyszukiwania:
@recent_searches = Search.recent # lub Search.recent(10)
w widoku bedziesz miał tablicę stringów z ostatnimi wyszukiwaniami.
Jeśli czegoś nie rozumiesz, odsyłam do linków z pierwszej części posta