/es|fr|it|pt|en|de/ do-6ren">
gpt4 book ai didi

ruby-on-rails - Rails 3本地化路线并显示资源

转载 作者:行者123 更新时间:2023-12-02 04:00:43 25 4
gpt4 key购买 nike

我正在Rails 3.2服务器上重写路线,因此该语言是URL的一部分。我的routes.rb文件是这样的:

scope ":lang", :lang => /es|fr|it|pt|en|de/ do
resources :users
end

通过添加语言字符串,几乎所有URL都可以正常工作,即:
http://mydomain/es/somecontroller/someaction

问题出在显示操作上,链接不起作用。这行:
<%= link_to "Show", @my_user %>

导致这样的“路由错误”:
No route matches {:action=>"show", :controller=>"users", :lang=>##User serialization##}

我究竟做错了什么?

编辑:好的,找到的 解决方案。多亏了凯奇(Cage)和一些研究,才有了解决方案。

在ApplicationController上只需要这样的方法:
def self.default_url_options
{ :lang => FastGettext.locale }
end

一切都完美无瑕!!完全不需要重写链接。

最佳答案

为了进行显示,编辑,销毁,您应该在路径中传递对象的:id,否则它将显示错误。例如

 <%= link_to "Show", user_path(@my_user.id) %>

通过此链接,在路由 http://guides.rubyonrails.org/routing.html的情况下将对您有很大帮助

关于ruby-on-rails - Rails 3本地化路线并显示资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10623991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com