Pergunta

Eu não entendo como usar variável de instância corretamente com parciais pontos de vista, eu estou esperando que alguém aqui pode me esclarecer. Por exemplo:

class MainController < ApplicationController

  def index
    @item_list = Item.find_all_item
  end

  def detail_display
    @current_selected = @item= Item.find(params[:id])
      redirect_to :action => :index
  end
end

detail_display é invocada quando o usuário clica em um item na lista. O @current_selected variável não está disponível para a vista parcial invocado quando o índice é redireccionada para. Como posso resolver isso?

Obrigado

Foi útil?

Solução

Quando você fazer um redirecionamento, o navegador envia uma solicitação totalmente novo, para que todos os dados do pedido anterior é inacessível. Você provavelmente não quer fazer um redirecionamento aqui; nenhuma quantidade de escopo vai ajudá-lo quando você está olhando para ensaios separados através de seu controlador.

Pense no seu design um pouco - o que você está tentando fazer? Se a seleção é algo pegajoso, talvez ele deve ir na sessão. Se a mudança é apenas em uma parcial, talvez você deve usar uma chamada Ajax. Talvez a solução é tão simples como renderizar o template index em vez de redirecionar para a ação index.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top