2017-12-30 91 views
0

API 모드에서 응용 프로그램과 함께 메일에 대한 URL을 생성하는 방법은 무엇입니까?Ruby On Rails에서 URL (url_for) 생성

"host/confirmation/token"유형의 URL을 생성하고 싶습니까?

나는 시험 :

<%= url_for("confirm/#{@token}") %> 

결과 :

confirm/JtuQW54DkZXtAnhm 

그러나 호스트가 존재하지 않는, 어떻게 내 "호스트"를 넣어?

가 I 구성 :

config.action_mailer.default_url_options = { 
    host: "lol.com" 
    } 
+0

[url_for (https://apidock.com/rails/ActionView/RoutingUrlFor/url_for) 정의 '라고 말한다 API에 가서 더 설명은이

url_for controller: 'tasks', action: 'testing', host: 'lol.com' # => 'http://lol.com/tasks/testing' 

같은 것을 따를 수 있습니다 only_path'는 기본적으로'true'입니다.'url_for' 호출의 매개 변수로'only_path : false'를 시도 했습니까? –

답변

0

당신은처럼 당신의 url_for 통화 false-:only_path을 설정해야합니다 : 당신은 당신의 경로에 파일을 넣어하지 않았다

<%= url_for({ action: "confirm", token_id: @token, controller: "controller_name", only_path: false }) %> 
+0

'config.action_mailer.default_url_options은 = { 호스트 : "lol.com" only_path : 거짓 }'나는 당신의'default_url_options'에이하지만 같은 문제 –

+0

하지 테스트,하지만'전화 url_for' –

+0

'ActionView에 : : Template :: Error : 틀린 인수의 수 (주어진 2, 예상되는 0..1)', 불가능한 –

0

, 나는 방법을 모른다 경로 파일을 작업 할 수 있습니다.

당신은

+0

'ActionView :: Template :: Error : 라우트가 일치하지 않습니다 .', API 모드, url이 서버와 클라이언트 사이에서 다르다. URL은 "production"에 따라 생성하고 싶다. 또는 "developpemnt"env –

+0

경로 파일을 확인해야하는 이유 –

+0

경로 파일에 API 경로, 클라이언트 경로 없음, CLIENT로 리디렉션 된 이메일 링크, API 없음. 라우트에 대한'url_for' 맵핑은 클라이언트의 라우트가 다르다는 것을 이해합니까? –