我有一个使用方法post调用的视图而不是get。但是当我想使用rails
和I18n
在change_locale_path(:es)
中更改视图的语言时。我有路由问题,因为没有matches [Get]"/Contacts"
和localhost:3000/contacts
被post
调用的路由。
我的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]
答案 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>