這是我做到了通過複製andadding東西的看法,模型等
在application_controller的設計意見Iadded東西
class ApplicationController < ActionController::Base
protect_from_forgery
rescue_from CanCan::AccessDenied do |exception|
redirect_to root_url, :alert => exception.message
end
before_action :configure_devise_permitted_parameters, if: :devise_controller?
private
def configure_devise_permitted_parameters
registration_params = [:username, :email, :password, :password_confirmation, :role, :currency_id]
devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:username, :password, :remember_me) }
if params[:action] == 'update'
devise_parameter_sanitizer.for(:account_update) {
|u| u.permit(registration_params << :current_password)
}
elsif params[:action] == 'create'
devise_parameter_sanitizer.for(:sign_up) {
|u| u.permit(registration_params)
}
end
end
結束
模型 - 用戶
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
# add :confirmable for email confirmation
devise :database_authenticatable, :registerable, :confirmable,
:recoverable, :rememberable, :trackable, :validatable
has_many :posts, dependent: :destroy
has_many :comments, dependent: :destroy
has_many :evaluation_assumptions, dependent: :destroy
has_many :user_positions, dependent: :destroy
has_many :user_evaluation_results, through: :evaluation_assumptions
belongs_to :currency
validates :username, :role, :currency_id, presence: true
validates :username,:uniqueness => true
include RoleModel
roles_attribute :role
roles :admin, :user, :guest
end
然後複製拷貝從設計的所有TE的觀點,我把在應用程序/視圖/設計 例如這裏是一個應用程序/視圖/設計/註冊/ edit.html.erb。從存儲器用戶名是我添加的字段以及currency_id。我還添加了用戶頭像(Gravatars)。
<% content_for :title, "Drill Investor - #{@current_user.username}" %>
<% content_for :tab_group, "dashboard" %>
<% content_for :tab_id, "dashboard" %>
<div class="breadcrumbs">
<%= link_to 'Users', edit_user_registration_path %> »
<%= link_to current_user.username %>
</div>
<section>
<article class="single">
<div class="form">
<%= simple_form_for(resource, :as => resource_name,
:url => registration_path(resource_name),
:html => { :method => :put, class: 'infogroup' }) do |f| %>
<div class="infogroup-header">Modify your account</div>
<%= f.error_notification %>
<% if @user.errors.any? %>
<%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:
<% @user.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
<% end %> <br />
<div class="infogroup-body">
<table border="0" cellpadding="0" cellspacing="0" class="info">
<div class="form-inputs">
<tr>
<td class="lalign largest_column"><span>email</span></td>
<td> <%= f.text_field(:email, :required => true, :autofocus => true,
class: 'very_largest_column') %></td>
</tr>
<% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
<p>Currently waiting confirmation for: <%= resource.unconfirmed_email %> </p>
<% end %>
<tr>
<td class="lalign largest_column"><span>username</span></td>
<td> <%= f.text_field(:username, :required => true, class: 'column') %></td>
</tr>
<tr>
<td class="lalign largest_column"><span>Currency to use</span></td>
<td> <%= f.collection_select(:currency_id, Currency.all,
:id, :name, class: 'data') %></td>
</tr>
<tr>
<td class="lalign largest_column"><span>password</span></td>
<td> <%= f.text_field(:password, :autocomplete => "off",
:hint => "leave it blank if you don't want to change it", :required => false,
type: 'password', class: 'column') %></td>
</tr>
<tr>
<td class="lalign largest_column"><span>password-confirmation</span></td>
<td> <%= f.text_field(:password_confirmation, :required => false,
type: 'password', class: 'column') %></td>
</tr>
<tr>
<td class="lalign largest_column"><span>current password</span></td>
<td> <%= f.text_field(:current_password,
:hint => "we need your current password to confirm your changes", :required => true,
type: 'password', class: 'column') %></td>
</tr>
</div>
</table>
<div class="form-actions">
<%= f.button :submit, "Update" %>
</div>
</div>
<%= render 'user_gravatar' %>
<% end %>
<%= link_to "Back", :back %>
</form>
</article>
</section>
可能沒有任何好處瓦努阿圖的我獲取用戶的額外的信息,但只有b。將制定觀點 - 如果你不能做到這一點的方式你的後(EGAS以上),我可以張貼 - 皮埃爾 – user1854802 2014-09-02 04:35:41
請發佈。我嘗試使用設計視圖,但得到了其他錯誤,所以我切換到這種方法 – Moosa 2014-09-02 04:38:31