2009-11-08 3 views

답변

1

좋아, 나는이 해결책을 내놓았다. 다음 헬퍼 메소드

<%= show_if('<link rel="canonical" href="$1"/>', @canonical_url) %> 

그리고 : 템플릿에서

# 
# Return the template text if the variable has a value. 
# 
def show_if(template, variable) 
    if variable 
    template.gsub('$1', variable) 
    else 
    '' 
    end 
end 
1

나는 당신이하려고하는 것이 무엇인지 결정하기 위해 좀 더 문맥을 필요 했어. 귀하가 제공 한 정보를 바탕으로 canonical-url plugin for Rails을 살펴 보시기 바랍니다.

0
def if_value(value, &block) 
    if value 
    concat(capture(value, &block)) 
    end 
end 

<% if_value(@canonical_url) do |value| %> 
    <link rel="canonical" href="<%= value %>"/> 
<% end %> 
2

죄송합니다. 이중 응답으로 SO는 하나의 URL 만 게시하도록 허용합니다.

또는 레이아웃에이 콘텐츠를 표시하려는 content_for in your views을 사용하여 문제를 해결할 수도 있습니다.

관련 문제