2016-03-18 3 views
0

私はDevilsを私のレールアプリに追加しました。プロファイルを変更しようとする場合を除いて、すべてうまくいきます。 PUTまたはPATCH。一番上に - 私は唯一の1行が工夫に関することを持っている...Devise編集/更新プロファイルはPATCHやPUTを行いません - 私はいつもGETを受け取ります

= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :patch }) do |f| 
    = devise_error_messages! 
    .form-group 
    %label.col-sm-2.control-label{:for => "inputName"} Name 
    .col-sm-10 
     = f.text_field :name, autofocus: true, placeholder: "Name", class: "form-control" 
    .form-group 
    %label.col-sm-2.control-label{:for => "inputEmail"} Email 
    .col-sm-10 
     = f.email_field :email, placeholder: "Name", type: "email", class: "form-control" 
    .form-group 
    = f.label :password, class: "col-sm-2 control-label" 
    .col-sm-10 
     = f.password_field :password, autocomplete: "off", placeholder: "Password", type: "password", class: "form-control" 
    .form-group 
    = f.label :password_confirmation, class: "col-sm-2 control-label" 
    .col-sm-10 
     = f.password_field :password_confirmation, autocomplete: "off", :placeholder => "Retype password", :type => "password", class: "form-control" 
    .form-group 
    = f.label :avatar, class: 'col-sm-2 control-label' 
    .col-sm-10 
     = f.file_field :avatar 



    .form-group 
    .col-sm-offset-2.col-sm-10 
     %button.btn.btn-danger{:type => "submit"} Submit 

マイroutes.rbをファイル:

は、これは私のセットアップ

マイedit.html.hamlです。

Rails.application.routes.draw do 

    devise_for :users 

すくい路線:

     Prefix Verb  URI Pattern                 Controller#Action 
      new_user_session GET  /users/sign_in(.:format)             devise/sessions#new 
       user_session POST  /users/sign_in(.:format)             devise/sessions#create 
     destroy_user_session DELETE /users/sign_out(.:format)             devise/sessions#destroy 
      user_password POST  /users/password(.:format)             devise/passwords#create 
     new_user_password GET  /users/password/new(.:format)            devise/passwords#new 
     edit_user_password GET  /users/password/edit(.:format)            devise/passwords#edit 
          PATCH /users/password(.:format)             devise/passwords#update 
          PUT  /users/password(.:format)             devise/passwords#update 
    cancel_user_registration GET  /users/cancel(.:format)              devise/registrations#cancel 
     user_registration POST  /users(.:format)               devise/registrations#create 
    new_user_registration GET  /users/sign_up(.:format)             devise/registrations#new 
    edit_user_registration GET  /users/edit(.:format)              devise/registrations#edit 
          PATCH /users(.:format)               devise/registrations#update 
          PUT  /users(.:format)               devise/registrations#update 
          DELETE /users(.:format)               devise/registrations#destroy 

とき、私は、私は方法がPUTに設定されているにもかかわらずGETリクエストを取得し、フォームを経由してプロファイルを変更しようと、これまで。私はPATCHも試してみました。

EDIT 私は、フォームのURLがあることを理解していない:私は熊手ルートを行う際にも記載されていません

registration_path(resource_name) 

。私は

+0

が正常に動作しjqueryのあるPUTのフォームタグを取得する前にGET要求を行った見当違いのformタグを持っていましたか? – MZaragoza

+0

それは...ですが、デベロッパはjqueryを使っていません...そうですか?これは標準のレール要求であるようです – martin

+0

'registration_path(resource_name) 'というURLは、' rails generate devise User'コマンドを使って作成したモデルでは、上に掲示したルート定義に変換されます。 ** resource_name ** = ** User **、モデル名。 –

答えて

0

愚かな私カントー、すべてのエラーを得ることはありません - 私は

+0

私は同様の問題を抱えていますが、フォームタグの問題は何ですか? いくつかのコードを共有できますか? – evanx

関連する問題