我需要重寫params[:lang]
貫穿我的整個應用程序從en
到us-english
。從URL應該是en
但我的整個應用程序內它需要us-english
,當我再創建URL我需要它從us-english
再次轉換爲en
。Rails的請求替代PARAMS
我意識到,實際的解決方案是隻更新網址,以反映實際的應用,但這個決定是在我的掌握。
我需要重寫params[:lang]
貫穿我的整個應用程序從en
到us-english
。從URL應該是en
但我的整個應用程序內它需要us-english
,當我再創建URL我需要它從us-english
再次轉換爲en
。Rails的請求替代PARAMS
我意識到,實際的解決方案是隻更新網址,以反映實際的應用,但這個決定是在我的掌握。
在應用控制器:
before_filter :override_params
def override_params
params[:lang] = 'us' if params[:lang] == 'en'
end
def render(*args)
params[:lang] = 'en' if params[:lang] == 'us'
super
end
雖然,安德魯評論說,可能會有更好的辦法s到實現你想實現什麼,
這意味着任何'param [:lang]'變成'us'。也不知道這響應URL的問題,但我認爲他需要手動指定郎每次帕拉姆反正因爲大多數'link_to'等等都不會默認包含... – Andrew
PARAMS呀,你是對的 - 我錯過了那部分。我已經更新了這個要求的答案。我認爲en是來自url,但是誰知道...... –
我得到了這個很遠,但是這並沒有解決更新創建的URL以反映反向邏輯的更大問題。 – user1828575
確實沒有更好的辦法處理這個?爲什麼你不能使用'en'?你什麼時候想要重寫它,你想要解決什麼問題?如果您想獲得幫助,您需要提供更多詳細信息。 – Andrew
看看i18n的回退,如果這聽起來像是真正的問題 – prusswan