[ruby-on-rails] 레일의 매개 변수 전달

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 매개 변수 또는 잃고 싶지 않은 다른 추가 매개 변수 를 전달 합니다.