Javascript Rails自定义更新方法不支持';无法以jquery切换形式调用

Javascript Rails自定义更新方法不支持';无法以jquery切换形式调用,javascript,jquery,ruby-on-rails,ruby-on-rails-4,model-view-controller,Javascript,Jquery,Ruby On Rails,Ruby On Rails 4,Model View Controller,我有一个配置文件编辑表单,里面有一个按钮,用于切换另一个表单以更改密码 我的路线如下所示: resource :profile do get '/password_edit' => 'profiles#password_edit', as: 'edit_password' patch '/password_update' => 'profiles#password_update', as: 'change_password' end 自定义控制器方法: def passwo

我有一个配置文件编辑表单,里面有一个按钮,用于切换另一个表单以更改密码

我的路线如下所示:

resource :profile do
  get '/password_edit' => 'profiles#password_edit', as: 'edit_password'
  patch '/password_update' => 'profiles#password_update', as: 'change_password'
end
自定义控制器方法:

def password_edit
  render partial: 'edit_password'
end

def password_update
  if @user.authenticate(params[:user][:current_password]) &&  @user.update_attributes(user_params)
    redirect_to root_url
  else
    render :edit
  end
end
及表格:

<div class="password-edit">
<%= form_for @user, {url: '/change_password_profile'} do |f| %>
  <div class="password" style="display:none; height:320px;">
    <%= render partial: "password_form", locals: { f: f } %>
  <div>
    <%= f.submit "Update password", class: "btn btn-primary" %>
    <%= link_to "cancel and go back", admin_accounts_path, class: "btn btn-link" %>
  </div>
  </div>
<% end %>
</div>
但是,当我单击submit按钮时,它是由update操作处理的,而不是由password\u update操作处理的。 我知道这是因为我正在通过js呈现这个表单,并且路径没有改变


我怎样才能做到这一点?

密码表部分的内容是什么?我认为您是在另一个表单中呈现表单,这是无效的()是的,我刚刚发现它不是有效的html。我试着做一些我认为很好的事情。也许我只需要切换密码字段。我这么做是因为我不想在默认更新方法上调用authenticate(params[:current_password])。我想上下文验证是解决方案
$(function(){
  $(".expand_password_edit_form").on("click", function(event){
    $(".password-edit").find('.password').slideToggle(400,
    function(){
      $('html, body').animate({
        scrollTop: $('.password').offset().top + $('window').height()
    }, 1000);
    });
  });
});