2014-05-09 2 views
0

에 제출 '버튼을 사용하여 다른 URL로 리디렉션와 나는 다른 URL (하드 코딩)이 URL내가 버튼을 제출해야 루비

https://www.ccavenue.com/shopzone/cc_details.jsp

내 코드에서 리디렉션 할 :

<%= form_tag @ccavanue do |f| , url => "https://www.ccavenue.com/shopzone/cc_details.jsp",  :html => :method => "put" %> 
<%= hidden_field_tag :my_field, @MerchantId, :id => 'merchant_id' %> 
<%= submit_tag "Click Me" %> 
<% end %> 

다른 웹 사이트 URL을이 제출 버튼으로 리디렉션하고 싶습니다. 제발 날 안내해 줘.

+0

로 시작할 수 있습니다. 그것은 좋은 생각이 아닙니다. http://stackoverflow.com/questions/11423682/cross-domain-form-posting. 해당 게시물 다음에 리디렉션하려면 관련 코드를 컨트롤러에 추가하여 해당 위치에 대한 요청을 수행해야합니다. – xlembouras

답변

1
다음에 코드를 변경

:

    :

    는 레일 형태가 또는 갱신 자원을 만들 로 설계되어을에서
    <%= form_for @ccavanue, url: "https://www.ccavenue.com/shopzone/cc_details.jsp" do |f| %> 
        <%= f.hidden_field :my_field, @MerchantId, :id => 'merchant_id' %> 
        <%= f.submit "Click Me" %> 
    <% end %> 
    

    은 여러 가지 방법으로 자원의 정체성을 반영

  1. 양식을 전송할 URL (양식 요소의 작업 속성)은 요청이 적절한 컨트롤러 작업으로 라우팅되어야합니다 (기존 자원의 경우 적절한 : id 매개 변수)
  2. 입력 필드의 이름은 컨트롤러에서 해당 값이 params 해시의 적절한 위치에 나타나고
  3. 기존 레코드 양식이 처음 표시 될 때 자원의 속성에 해당하는 입력 필드는 해당 속성의 현재 값을 표시해야합니다. 레일이에서

form_for 를 사용하여 양식을 작성하여 달성된다 :

우리는 우리가 URL 내에서 POST 방법 PUT 우리가 업데이트하려는 경우 방법을 사용하는 모든 객체를 만들려면 기존 레코드.

레일 프레임 워크는 POST 또는 PUT 메서드를 사용하여 양식의 URL을 보면 충분히 똑똑합니다. 따라서이 경우 form_for url에 메소드 매개 변수를 사용할 필요가 없습니다. 다른 사이트의 URL에 post``원하는처럼

아마 당신은 당신이 작성하는 것 Michael Hartl's tutorial

+0

[PUT] "/ home/index"와 일치하는 경로가 없습니다 .. – Swetz

+0

"put"메서드를 form_for에 사용하고 form_for에 메서드 매개 변수를 전달하지 않으려 고하는 이유를 모르겠습니다. – cvibha

+0

저는이 사실을 알고 있지 않습니다. 나는 루비에 새롭다. 그리고 나는 배울 최선의 시작을 위해 레일즈 오브 루비 (Ruby on Rails)의 책을 사고 싶다. 제발 나를 안내해주세요 – Swetz