2012-08-06 5 views
0

wicked를 사용하여 redirect_to에 매개 변수를 추가하는 데 어려움이 있습니다. Railscast를 따라 가고 github 페이지의 정보를 읽었지만 제대로 작동하지 않습니다. 개체 플러그인을 만들고 싶습니다. 저장 한 후에 물건을 추가 할 수 있어야합니다. 여기 rails wicked gem redirection_to with params

내가 무엇을 가지고 있습니다 :

plugins_controller :

def create 
    @plugin = Plugin.new(params[:plugin]) 
    if @plugin.save 
    redirect_to plugins_steps_path, :plugin_id => @plugin.id 
    end 
end 

plugins_steps 컨트롤러 :

def show 
    @plugin = Plugin.find(params[:plugin_id]) 
    render_wizard 
end 

경로 :

resources :plugins_steps 

내가 우 모든 매개 변수를 결코 w 방법은 plugins_steps에서 이것을 해결할 수있는 방법이 있습니까?

redirect_to :controller: "plugins_steps", :action => "show", :plugin_id => @plugin.id 

또는

redirect_to({:plugin_id => @plugin.id }) 

가 대단히 감사합니다 은 또한 같은 몇 가지 redirect_to 방법을 시도했다.

답변

0

plugins_steps_path은 색인 조치의 경로입니다. 표시 작업을 원할 경우 plugin_step_path을 사용하십시오 (즉, 단계은 단명해야합니다). 이를 확인하려면 rake routes을 실행하십시오. 또한 :plugin_id 매개 변수를 호출하는 대신 :id을 사용하고 그에 따라 show controller를 업데이트하십시오.

+0

답장을 보내 주시면 그 동안 플러그인 객체를 세션에 넣으면서 그것을 풀어서 전체 생성 과정에서 액세스 할 수있게되었습니다. 그러나 이것이 좋은 방법인지 확실하지 않습니다. – Flo

+2

ID 이외의 세션에 데이터를 저장하지 않는 것이 좋습니다. 그렇게하면 데이터베이스 테이블을 수정하면 세션이 오래된 정보를 포함하는 대신 새 스키마를 자동으로 반영합니다. 클라이언트는 세션에 대한 액세스 권한을 가지고 있으며이를 수정할 수 있기 때문에 보안 상 위험합니다. 제가 여러분에게 준 해결책은 표준 레일즈 접근법을 여러분이하고 싶은 일을하는 데 사용하기 때문에 정말 최고의 솔루션입니다. –

+0

정말 고맙다고 설명해 주셔서 감사합니다. – Flo