2013-05-31 8 views
5

。このリンクをご覧ください:http://www.srecipe.kr.com/articles/8FriendlyID韓国ナメクジ

他の言語が動作します。

/this-is-urlのようなラテン文字にマップされているURLを신품から取得するにはどうすればよいですか?

+0

回答しましたか?私はそうは思わない!それは話題ではなく、強制的に閉鎖されていた。お願いします! –

答えて

7

これらすべてのパーマリンクソリューションと同様に、Friendly IDはparameterizeメソッドを使用して文字列をURLセーフストリングに変換します。以下のようなので:

# encoding: UTF-8 
require 'active_support/all' 
puts "신품".parameterize 
=> 

activesupportのがに非ASCII文字列を変更する方法を提供します:

require 'active_support/all' 
puts "Oh Hai There".parameterize 
=> oh-hai-there 

問題はあなたの問題を引き起こして、空の文字列に置き換えパラメータ化され、非ASCII文字列を使用するときに来ます近くにはtransliterateメソッド経由で近似しています。

# encoding: UTF-8 
require 'active_support/all' 
include ActiveSupport::Inflector 

puts transliterate("Ærøskøbing") 
=> AEroskobing 

ただし、キャラクタがわからない場合は、デフォルトでは??が使用されます。

# encoding: UTF-8 
require 'active_support/all' 
include ActiveSupport::Inflector 

puts transliterate "신품" 
=> ?? 

しかし、字体をどのように処理するかを教えてください。だから、だから、Railsのモデル

# Store the transliterations in locales/en.yml 
en: 
    i18n: 
    transliterate: 
     rule: 
     신: "abc" 
     품: "def" 

puts transliterate "신품" 
=> "abcdef" 

に、あなたはパラメータ化だけtransliterate(title).parameterizeの代わりに使用することができます。そして、もし英字を字幕セクションに入れるなら、あなたは金色に近いです。

+0

http://www.rubydoc.info/gems/unidecode/1.0.0/frames –

+0

結果ルールを引用符で囲むのを忘れてしまった: I18n :: InvalidLocaleData:config/locales/en.yml:#

2

はまだこれらを試していないが、私はするつもりです:私はそれらを試してみたとき、私は戻って報告します

+0

レポートはどこですか? –

+0

フェアコメント。 2年以上経った今、私の結論は何かを覚えていない。あなたは誰かに役立つ場合に備えて、私が返信を削除するか、そこにreposのリストを残すべきだと思いますか? –

+0

ローマのレポが私にとって参考になった!リンクありがとうございます! –

関連する問題