1

db에서 작업을 수행 한 다음 현재 페이지를 새로 고치는 작업을 Rails 컨트롤러에 만들고 싶습니다.현재 페이지를 새로 고침하는 액션

예 :
컨트롤러하십시오
조회 : A, B.

제어기 A는 다음과 같다 :

-html- 
-body--link to action 1--/body- 
-/html- 

전망 :

def action1 
    somethingToTheDB 
end 

뷰 A는 다음과 같다 B는 다음과 같습니다.

-html- 
-body--link to action 1--/body- 
-/html- 

내가보기 AI에서 활동 한 오면 내가보기 2에서 오면 내가보기 2 새로 고칠보기 A를 새로 고칠이어야합니다보기를 표시하기 위해 링크에 매개 변수를 전달하지 않고 가능성이있다 렌더링?

감사

+0

내가 따르지 않는 . 존재하는 경우 실제 코드를 더 제시하는 것이 유용 할 수 있습니다. 당신이 질문을하는 방식으로, 나는'action1.html.haml' 또는 비슷한 것을 보길 원합니다 - A와 B가 아닙니다. – toddsundsted

답변

6

하지 질문을 잡으려고 확신하지만 당신은 단지 수행 할 수 없습니다

<%= link_to 'Refresh' refresh_path(:aktion => action_name, 
            :kontroller => controller_name) %> 
: 당신이 어떤 이유로 action_1controller_nameaction_name에 액세스해야하는 경우

def action_1 
    # something_to_the_db 
    redirect_to :back 
end 

aktionkontroller은 오타가 아닙니다. 그런 식으로 작성해야합니다. 그렇지 않으면 충돌합니다.

action_namecontroller_name 및 변수이다. 그렇게 쓰십시오. 그것은 그 같은 모양을

이 (당신의 refresh_path을 무엇에 따라, 현재 컨트롤러와 현재의 행동)

: 컨트롤러에서 다음

<a href="/refresh?aktion=index&kontroller=articles">Refresh</a> 

:

def action_1 
    kontroller = params[:kontroller] 
    aktion  = params[:aktion] 
    # Do whatever you want in the db 
    redirect_to :controller => kontroller, :action => aktion 
    # or redirect_to :back (better IMO) 
end 
+0

사실, 단지'redirect_to : back'만이 리퍼러로 돌아갑니다. – nathanvda

+0

@nathanvda 그건 내가 처음에 생각한 것이지만 어쩌면 그는 리퍼러를 기반으로 한 db에서 특별한 것을 할 필요가있을 것이다 ... 그러나 다시, redirect_to : back는 초기 쿼리를 실행할 것이다 ... 그의 질문을 이해할 수 있는지,) 그에게서 반응을 기다리고있다;) – Damien

+0

내 컨트롤러와 액션에 액세스해야하므로 이것이 대답이라고 생각한다. – Tony

관련 문제