나는 sorcery gem을 사용하여 인증을 관리합니다. 아래 코드를 볼 수 있습니다.자격 증명을 변경하지 않고 사용자를 업데이트하는 방법
모델/user.rb
class User < ActiveRecord::Base
authenticates_with_sorcery!
attr_accessible :username, :email, :password, :password_confirmation
has_many :clients
has_many :orders
validates_presence_of :email, :username, :on => :create
validates_presence_of :password, :on => :create
validates_uniqueness_of :email
validates_confirmation_of :password, :message => "confirmation doesn't match password "
validates_length_of :password, :minimum => 6
end
컨트롤러/users_controller.rb
class UsersController < ApplicationController
before_filter :require_login, :except => [:not_authenticated, :new, :create]
skip_authorize_resource :only => [:new, :create]
layout "users"
def new
@user = User.new
end
def create
@user = User.new(params[:user])
if @user.save
redirect_to clients_url, :notice => "Bienvenu dans la communauté Bakden!!!"
else
render :new
end
end
#show user profile
def show
@user = User.find(session[:user_id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @user }
end
end
# edit user profile
def edit
@user = User.find(session[:user_id])
end
# update user profile
def update
@user = User.find(session[:user_id])
respond_to do |format|
if @user.update_attributes(params[:user])
format.html { redirect_to(@user, :notice => 'User was successfully updated.') }
format.json { head :ok }
else
format.html { render :action => "edit" }
format.json { render json: @user.errors, :status => :unprocessable_entity }
end
end
end
_form.html.erb
<%= simple_form_for (@user),:html => {:multipart => true} do |f| %>
<div class="inputs">
<%= f.input :adress %>
<%= f.input :city %>
<%= f.input :country ,:as => :country %>
<%= f.input :telephone, :as => :string %>
<%= f.file_field :picture %>
<div class="actions">
<%= f.button :submit %> | <%= link_to "cancel", profile_path%>
</div>
<% end %>
어떻게 자격, 암호, 전자 메일 및 사용자 이름에 영향을주지 않고 주소, 전화 ...와 같은 사용자 정보를 편집 할 수 있습니까?
감사 장소에 diligently.Sure 가장 어쨌든 다 했지을 할 수 있도록 응답을 위해 내가 전체 perpective을 위해 별도의 양식을 사용하려면 문제의 –