rails에서 redirect_to의 매개 변수를 어떻게 전달합니까? 나는 이것을 사용하여 id를 전달할 수 있다는 것을 안다.
redirect_to :action => action_name,:id => 3
양식 데이터와 같은 추가 매개 변수를 전달하려면 어떻게해야합니까?
편집하다:
Ruby 2 구문의 경우 위의 스 니펫을 다음과 같이 업데이트해야합니다.
redirect_to action: action_name, id: 3
답변
옵션에 추가하면됩니다.
redirect_to controller: 'thing', action: 'edit', id: 3, something: 'else'
양보 할 것이다 /thing/3/edit?something=else
답변
RESTful 자원을 사용하는 경우 다음을 수행 할 수 있습니다.
redirect_to action_name_resource_path(resource_object, param_1: 'value_1', param_2: 'value_2')
or
#You can also use the object_id instead of the object
redirect_to action_name_resource_path(resource_object_id, param_1: 'value_1', param_2: 'value_2')
or
#if its a collection action like index, you can omit the id as follows
redirect_to action_name_resource_path(param_1: 'value_1', param_2: 'value_2')
#An example with nested resource is as follows:
redirect_to edit_user_project_path(@user, @project, param_1: 'value_1', param_2: 'value_2')
답변
예를 들어 home # action으로 전송 된 양식 데이터가있는 경우 이제 매개 변수를 유지하면서 house # act로 경로를 재 지정하려고합니다.
redirect_to act_house_path(request.parameters)
답변
flash 매개 변수를 사용하여 임의의 객체를 템플릿에 전달할 수 있습니다.
redirect_to :back, flash: {new_solution_errors: solution.errors}
그런 다음 해시를 통해 템플릿에서 액세스하십시오.
<% flash[:new_solution_errors].each do |err| %>
답변
redirect_to new_user_path(:id => 1, :contact_id => 3, :name => 'suleman')
답변
redirect_to :controller => "controller_name", :action => "action_name", :id => x.id
답변
컨트롤러, 액션, 아이디 등이 아닌 추가 URL 매개 변수를 전달하는 방법을 찾고 있다면 다음과 같은 강력한 방법이 있습니다.
object_path(@object, params: request.query_parameters)
그것은 utm 매개 변수 또는 잃고 싶지 않은 다른 추가 매개 변수 를 전달 합니다.