자, 여기 약간의 혼란이 있습니다.이 문제에 대한 간단한 해결책이있을 수 있습니다. 그러나 지난 두 시간 동안 알아 내지 못했지만, 물어볼지도 모른다.db의 속성에 따라 link_to의 로케일 변경.
DB에 블로그가 있습니다. 두 언어로 작성되었습니다 (& EN) - I18n에 정의 된 로케일은 (독일어) & ko (영어)입니다.
블로그 항목을 만들 때마다 항목과 함께 로케일을 저장합니다. 간단한 예 : - 그 두 개의 다른 사이트 인 것처럼,하지만 블로거에 액세스하는 가장 최근의 블로그되는 목록을 프로필
id | title | content | locale
-----------------------------------------
1 | First Blog | Hey, .. | en
2 | Erster Blog | Hallo, . | at
등
그래서, 일반적으로 나는 그 두 언어가 사이트에 분리 보관 표시됩니다. 일부 블로거는 영어뿐 아니라 독일어로도 게시됩니다.
방문자가 www.mysite.com/en-에 있고 독일어 블로그의 참조를 클릭하면 오류가 발생합니다.
@blog = Blog.friendly.find(params[:id], :conditions => ["language_id = ?", I18n.locale])
그래서이 확실히 SEO 현명한 내가 범되지 않습니다를 확인하는 것입니다 : 컨트롤러에서
나는 확실한 같은 내용이 URL의를 통해 액세스 할 수 있도록 다음과 같은 정의했다. (www.mysite.com/en/first-blog== www.mysite.com/at/first-blog). 현재 내가 모델에 예외를 catch :
around_filter :catch_not_found
....
def catch_not_found
yield
rescue ActiveRecord::RecordNotFound
redirect_to blogs_path, :flash => { :error => "Sorry, the Blog isn't available in your language." }
end
질문은 - 사용자가 올바른 로케일에서 블로그로 리디렉션 가도록 (듯이), 어떻게, LINK_TO에 로케일을 전달할 수 있습니다?
감사
으로 문제를 해결할 수 있도록, 모든 로케일에 대한
post_id
같은이 접근 모두에서? – LuiGi
주제에서 벗어나지 만 'at'는 독일어 약어로 무엇을 의미합니까? –
안녕하세요, -는 오스트리아를 의미합니다. LuiGI, 나는 blog_view에서 다음과 같은 방식으로 link_to를 사용했다 : show.html.erb : <% @ relatedblogs.each do | blog | %> \t \t \t \t \t \t \t
<% = LINK_TO blog.title, blog_path (blog.slug) : 타이틀 => "읽기"+ blog.title %><% = blog.created_at %>
\t \t \t \t \t \t <% end %> –