Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在rails中使用mail_form gem更改联系人表单的创建视图中的语言时出错_Ruby On Rails_Contact Form_Mail Form - Fatal编程技术网

Ruby on rails 在rails中使用mail_form gem更改联系人表单的创建视图中的语言时出错

Ruby on rails 在rails中使用mail_form gem更改联系人表单的创建视图中的语言时出错,ruby-on-rails,contact-form,mail-form,Ruby On Rails,Contact Form,Mail Form,在网页的联系人表单的“创建”视图中使用I18n更改语言时出错。造成此错误的原因是creates使用方法Post,而link_使用get。为了解决这个问题,我使用了链接到,除非: <li><%= link_to_unless( current_page?(:controller => 'contacts', :action => 'create'),(t ('layouts.language1')) , change_locale_path(:es)) d

在网页的联系人表单的“创建”视图中使用I18n更改语言时出错。造成此错误的原因是creates使用方法Post,而link_使用get。为了解决这个问题,我使用了链接到,除非:

      <li><%= link_to_unless( current_page?(:controller => 'contacts', :action => 'create'),(t ('layouts.language1')) , change_locale_path(:es)) do
                                        link_to (t ('layouts.language1'), change_locale_path(:es), method: :post)
                            end%></li>
  • 'contacts',:action=>'create'),(t('layouts.language1'),change\u locale\u path(:es))do 链接到(t('layouts.language1'),更改语言环境路径(:es),方法::post) 结束%>

  • 但它仍然不起作用。当我在下拉菜单中选择“创建”视图时,我希望该视图刷新为另一种语言。有人知道如何处理这个问题吗?我真的很感激你的回答。谢谢你

    顺便说一句,我不知道你为什么要在
    链接中添加
    链接到
    ,除非
    ,但是,我认为你应该使用以下代码来满足你的需要:

    <li>
      <%= link_to_unless(current_page?(:controller => 'contacts', :action => 'create'),
                         t('layouts.language1'),
                         change_locale_path(:es)),
                         method: :post %>
    </li>
    
  • '联系人',:action=>'创建', t('layouts.language1'), 更改区域设置路径(:es)), 方法::post%>

  • 顺便说一句,我不知道你为什么要在
    链接中添加
    链接到
    ,除非
    ,但是,我认为你应该使用以下代码来满足你的需要:

    <li>
      <%= link_to_unless(current_page?(:controller => 'contacts', :action => 'create'),
                         t('layouts.language1'),
                         change_locale_path(:es)),
                         method: :post %>
    </li>
    
  • '联系人',:action=>'创建', t('layouts.language1'), 更改区域设置路径(:es)), 方法::post%>

  • Hi Raj,正如我所说,这是一个路由错误:路由错误。没有与[GET]/“Contacts”匹配的路由。这就是为什么我用link_to_来安排,除非。你的应用程序启用了Js并且包含了所有必需的Js文件吗?此外,我认为您应该使用
    按钮链接到
    而不是
    链接到
    在服务器上发布是的,所有这些都包含在application.js中,我的Java脚本的所有功能都在使用:method=>“post”来选择链接。除此之外,我的路由文件是: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#localeHi raj因为我使用的是下拉菜单,所以我使用link to。但我不认为这会对method::post不工作的原因有多大影响Hi Raj,因为我说过错误是路由错误:路由错误。没有与[GET]/“Contacts”匹配的路由。这就是为什么我用link_to_来安排,除非。你的应用程序启用了Js并且包含了所有必需的Js文件吗?此外,我认为您应该使用
    按钮链接到
    而不是
    链接到
    在服务器上发布是的,所有这些都包含在application.js中,我的Java脚本的所有功能都在使用:method=>“post”来选择链接。除此之外,我的路由文件是: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#localeHi raj因为我使用的是下拉菜单,所以我使用link to。但我不认为这会对method::post不起作用有多大影响Hi Raj我试着告诉你其中一个括号有错误。一定是这样
  • 'contacts',:action=>'create'),t('layouts.language1'),change\u locale\u path(:es),method::post)%>
  • 。但是我得到了这个错误。“imageanchor=“1”>这很有意义,因为我正在尝试使用change\u locale\u path。然后,问题是相同的,如何在保留视图的同时更改创建视图的语言,因为url是由方法post调用的,而不是get调用的。Hi Raj我尝试了一种方法,其中一个括号出现错误。一定是这样
  • 'contacts',:action=>'create'),t('layouts.language1'),change\u locale\u path(:es),method::post)%>
  • 。但是我得到了这个错误。“imageanchor=“1”>这很有意义,因为我正在尝试使用change\u locale\u path。然后,问题是相同的,如何在保留视图的同时更改create视图的语言,因为url是由方法post而不是get调用的。