私は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)
。私は
が正常に動作しjqueryのあるPUTのフォームタグを取得する前にGET要求を行った見当違いのformタグを持っていましたか? – MZaragoza
それは...ですが、デベロッパはjqueryを使っていません...そうですか?これは標準のレール要求であるようです – martin
'registration_path(resource_name) 'というURLは、' rails generate devise User'コマンドを使って作成したモデルでは、上に掲示したルート定義に変換されます。 ** resource_name ** = ** User **、モデル名。 –