1

私はレール3.0.3でi18nを使用しており、ユーザーはテキストを編集する機能を持っています。ユーザーがテキストを保存すると、en.ymlファイルではなくデータベースから取得されます。私は以下のようにオーバーライドヘルパーT持っている:私は、ビューからこのメソッドを呼び出していますtemplate.path_without_format_and_extensionレール3.0.3で動作しません。未定義のメソッドテンプレートを取得する

def c_t(key, options = {}) 
    c_key = (scope_key_by_partial_custom(key)).gsub(".","_") 
    if $LAYOUT_CONTENTS[c_key].present? 
     $LAYOUT_CONTENTS[c_key] 
    else 
     t(key,options) 
    end 
    end 

、その後

def scope_key_by_partial_custom(key) 
    if key.to_s.first == "." 
    template.path_without_format_and_extension.gsub(%r{/_?}, ".") + key.to_s 
    else 
    key 
    end 
end 

を:

<h1 <%= c_t '.title' %></h1> 

それはレール2.3での細かい作業が、レールをアップグレードした後にされました〜3.0.3エラーが発生しています クラスの定義されていないメソッド `template '

答えて

1

レールでこのヘルパーメソッドを使用する3

view_context.instance_variable_get(:@_virtual_path) 
関連する問題