如何更改已发布视图的语言?

How can I change the language of a posted view?

我有一个使用方法 post 调用但未获取的视图。但是当我想使用 I18nchange_locale_path(:es) 更改 rails 中的视图语言时。我有路由问题,因为没有 matches [Get]"/Contacts"localhost:3000/contactspost.

调用的路由

我的 apllication.html.erb 是:

<li><%= link_to (t ('layouts.language1')) , change_locale_path(:es) %></li>

我的路线文件是:

resources :contacts, only: [:new,:create]
get 'gmm/home' 
get 'gmm/about'
get 'gmm/services'
get 'gmm/contact'
get '/change_locale/:locale', to: 'settings#change_locale', as: :change_locale

我也尝试将其添加到路由文件中。

match ':controller/:action' ,via: [:get,:post]

您只需添加 method: :post 即可将请求发送为 post。

<li><%= link_to (t ('layouts.language1')) , change_locale_path(:es), method: :post %></li>

其次:如果您在 /contacts 页面上并且想要更改语言环境。您也可以使用 ajax 发送更改区域设置请求。

使用ajax发送请求:

<li><%= link_to (t ('layouts.language1')) , change_locale_path(:es), method: :post, remote: true %></li>