проблема с request.post - PullRequest
       1

проблема с request.post

0 голосов
/ 21 февраля 2011

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

def index
  if request.post?
    flash[:notice] = "Searching.."
    redirect_to songs_path # where songs_path is this index page that i am on 
  end
end

в макете приложения я определил раздел flash как таковой

<% if flash[:notice] %>
  <div id='notice'><%= flash[:notice] %></div>
<% end %>

и на моих страницах_путь у меня есть

<% form_for :search do |f| %>
  <%= f.label :search_text %>
  <%= f.text_field :search_text %>
  <p>
    <%= f.submit "Search" %>
  </p>
<% end %>

Окончательным результатом должен быть поиск через API YouTube (youtube-g), но теперь я хотел бы, чтобы это флэш-уведомление появлялось только тогда, когда я нажимал на кнопку «Поиск», и оно не ... никаких идей почему?

Ответы [ 2 ]

0 голосов
/ 05 декабря 2013

Вы должны обновить свой маршрут RESTful следующим образом

resources :songs do 
    collection do 
        get 'search'
    end
end

Затем в вашем контроллере

def search
    # Perform Your search here like Youtube ..
    flash[:notice] = "Searching.."
    redirect_to songs_path # This should work now.
end
0 голосов
/ 21 февраля 2011

индекс действия обычным является запрос GET. Так что, если в вашем rout.rb есть что-то вроде resources :searches, тогда ваш код не будет работать.

попробуйте это:

def create
  render :text => "Searching.."
end

потому что POST / поиски будут ссылаться на действие создания

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