Связывание поисков с правильным методом контроллера - PullRequest
0 голосов
/ 13 марта 2012

У меня в контроллере есть следующее:

def index
    @games = Game.gamsearch(params[:gamsearch])
end

def consearch
    @games = Game.consearch(params[:consearch])
end

def gensearch
    @games = Game.gensearch(params[:gensearch]) 
end

И на мой взгляд следующее:

<div id="sidehead"><h2><%= t('.search') %></h2></div>
<div id="searching" >
        <%= form_tag games_path, :controller => 'games', :action => 'gamsearch', :method => 'get' do %>
        <%= text_field_tag :gamsearch, params[:gamsearch] %>
        <%= submit_tag t('.searchb'), :game_name => nil %>
    <% end %>   
</div>

<div style="clear: both;"/>

<div id="sidehead"><h2><%= t('.search') %></h2></div>
<div id="searching" >
        <%= form_tag games_path, :controller => 'games', :action => 'gensearch', :method => 'get' do %>
        <%= text_field_tag :gensearch, params[:gensearch] %>
        <%= submit_tag t('.searchb'), :game_name => nil %>
    <% end %>   
</div>

<div style="clear: both;"/>

<div id="sidehead"><h2><%= t('.search') %></h2></div>
<div id="searching" >
        <%= form_tag games_path, :controller => 'games', :action => 'consearch', :method => 'get' do %>
        <%= text_field_tag :consearch, params[:consearch] %>
        <%= submit_tag t('.searchb'), :game_name => nil %>
    <% end %>   
</div>

Теперь первый поиск работает нормально, и, глядя на журнал, он подключаетсяс этим в индексе.Но вторые два поиска ничего не делают, и, просматривая журнал, они не подключаются к связанным с ними мошенникам и собеседникам.Есть идеи?Можно ли указать, какой метод в контроллере использовать?

resources :games do
   post 'email', :on => :member
   post 'gensearch', :on => :member
   post 'consearch', :on => :member
end

1 Ответ

0 голосов
/ 13 марта 2012
form_tag games_path, :controller => 'games', :action => 'consearch', :method => 'get'

Первый параметр form_tag, games_path - это настройка параметров URL.Остальная часть вашего хэша поглощается параметром options.

Я не уверен, как выглядят ваши маршруты, но вы должны быть в состоянии сделать это многословно.

form_tag( {:controller => 'games', :action => 'consearch'}, {:method => 'get'} )

Обратите внимание, что вы сопоставляете свои ресурсы с post в своих маршрутах, но вы используете get в своих формах.Это приведет к тому, что ваши помощники на пути не будут работать должным образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...