2

나는 .erb을 포함하는 <meta> 태그를 인식하도록 페이스 북을 얻는 데 많은 어려움을 겪고있다. 다음 예는 다음과 같습니다 페이스 북에 .erb 포함하기 <meta> 태그

<meta property="og:title" content="Projects <%= @company.name.present? ? ('with ' + @company.name) : '' %>" /> 

는 여기에 몇 가지 세부 사항을이다 :

  1. 페이지의 소스가 완전히 메타 제목을 표시하고 내가 기대한다.
  2. logger debug @company.name을 메타 태그 바로 위에 놓고 예상되는 결과가 표시됩니다.
  3. FB에서 볼 수있는 것은 모두 "프로젝트"입니다.

여기에 무슨 일이 일어나고 있는지 아십니까?

답변

0

문자열에 포함 된 루비가 잘못 되었기 때문입니다.

"Projects <%= @company.name.present? ? ('with ' + @company.name) : '' %>" 
--> "Projects <%= @company.name.present? ? ('with ' + @company.name) : '' %>" 

<%= "Projects #{ @company.name.present? ? ('with ' + @company.name) : '' }" %> 
--> "Projects with Apple" 

<%= "Projects " + @company.name.present? ? ('with ' + @company.name) : '' %> 
--> "Projects with Apple" 

마지막 해결 방법 중 하나를 선택하여 문제를 해결하십시오.

+0

을 절단하지 말아야

<meta property="og:description" content='<%= @job_details.description %>' /> 

. 두 번째는 HTML 문자열에 삽입 될 때 그대로 표시되며 세 번째 것은 FB에서 무시됩니다. 웬만한 .erb에 의해 생성 된 모든 것을 피하는 것 같습니다. – sscirrus

+0

아, 맞아. 내 두 번째 구문도 잘못되었습니다 (지금 편집했습니다). 파일의 다른 부분에 루비 코드를 삽입 할 수 있습니까? –

+0

절대적으로 - 루비는이 종류의 태그에서 분명히 제외하고는 어디에서나 잘 작동합니다 (또는 어쨌든 Facebook의 .js에 의해 무시됩니다.하지만 나에게도별로 의미가 없음). – sscirrus

1

그냥 ""대신 " '을 사용하십시오. 예 : 이것은 알렉산더 아니라 문자열

+0

인용문이 왜 알레시오에 영향을 미치는지 아십니까? – sscirrus

+0

차이점 중 하나는 큰 따옴표로 보간법을 사용할 수 있다는 것입니다. –

관련 문제