params не получает ничего переданного в erb - PullRequest
0 голосов
/ 19 октября 2011

Вот код в index.html.erb:

  <%= link_to 'Back', '/url_handler?url=@return_to&index=0' %>

Вот отображение для / url_handler в маршрутах. Rb:

  match '/url_handler', :to => 'application#url_handler'

Вот код для url_handler вКонтроллер приложения:

  def url_handler
    url = params[:url]  
    index = params[:index] 

    if index == 1 then
      step_forward(url)
    elsif index == 0 then
      step_back
    end

    redirect_to url
  end

  private

  #record path to current page
  def step_forward(current_path)
    session[:page_step] += 1
    session[('page' + session[:page_step].to_s).to_sym] = current_path if session[:page_step] > 1
  end

  #return link for previous page in page step
  def step_back
    session[:page_step] -= 1
  end

Проблема состоит в том, что 2 параметра в url_handler не извлекают @return_to и 0 передаются в index.html.erb.@return_to содержит действительное значение при передаче.

Есть какие-либо решения проблемы?Спасибо.

1 Ответ

1 голос
/ 19 октября 2011
<%= link_to 'Back', '/url_handler?url=@return_to&index=0' %>

Должно быть

<%= link_to 'Back', "/url_handler?url=#{@return_to}&index=0" %>

Обратите внимание на двойные кавычки и return_to

Проверьте файл журнала log / development.log, чтобы увидеть, какие значения передаются в параметрах

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