2010-10-12 59 views
2

非英语控制器我有以下问题:使用在Rails3中

如果我想跟随Rails的命名约定,我必须使用模型的名字的复数形式为我的控制器的名字。

实施例:

rails g scaffold_controller Content 

在这种情况下我有一个模型(内容)和先前命令是要产生与名内容的控制器。

那么,如果我有一个德国网站,我想用site.tld/inhalt /某物某事代替site.tld /内容/某物某事

我在想两个解决方案:

一个,使用的时候,我产生控制器(据我所知它不是由scaffold_controller发电机

2b支撑字的德语版,生成整个网站(模型,控制器),英文和路由到某个控制器的具体要求与像命名路由:

match 'logout', :to => 'sessions#destroy' 

在这种情况下,我无法使用REST风格的路线,如:

resources :products 

你觉得呢?

回答

2

您可以使用路由配置,以改变该控制器相匹配的网址:

resources :contents, :path_names => { :new => 'neue', :edit => 'bearbeiten' }, :path => 'inhalt' 

视图中的contents_path方法仍然可以工作,但它会根据需要输出/inhalt,并且将匹配。虽然/contents路径不匹配。所以如果你打电话edit_content_path(@content)你会得到像/inhalt/1/bearbeiten

有关更多详细信息,请参阅Rails routing guide

+0

完美的马特!谢谢! – Istvan 2010-10-12 22:07:22