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

时间:2016-01-05 13:15:45

标签: ruby-on-rails contacts mail-form

我有一个使用方法post调用的视图而不是get。但是当我想使用railsI18nchange_locale_path(:es)中更改视图的语言时。我有路由问题,因为没有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]

1 个答案:

答案 0 :(得分:0)

您只需添加method: :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>