我正在使用rails 4.2和ruby 2.2.0p0,我需要提交属于用户表的表单,一旦用户进行身份验证并进行身份验证我正在使用设计,我是否需要手动创建用户控制器和查看/ p>
我在控制器和其他视图下创建了两个名为my_devise的目录。我跟着this 对于我采取的方法。我得到“uninitalized constant MyDeviseController”错误。这是我修改过的文件列表。
my_devise / registrations_controller.rb
class MyDevise::RegistrationsController < Devise::RegistrationsController
def update
@user = current_user
if @user.update_attributes(user_params)
# Handle a successful update.
else
redirect_to 'my_devise/registrations'
end
end
private
def user_params
params.require(:user).permit(:title, :font, :description,
:bgcolor)
end
end
my_devise / registration.html.erb
<%= form_for :user, @user, :url => url_for(:controller => 'registrations', :action => 'update') do |u|%>
<br >
<p>
<%= u.label :title %><br>
<%= u.text_field :title %>
</p>
<p>
<%= u.label :description %><br>
<%= u.text_field :description %>
</p>
<p> <%= u.label :back_ground_color %><br>
<select name="bgcolor" id="bgcolor">
<option value="#FF3300">Orange</option>
<option value="#00FF00">Green</option>
<option value="#0000FF">Blue</option>
<option value="#FF0066">Pink</option>
<option value="#FFFF00">Yellow</option>
<option value="#FFFFFF">White</option>
</select>
</p>
<p>
<%= u.label :font %><br>
<select name="font" id="font">
<option value="Times New Roman">Times new Roman</option>
<option value="Verdana">Verdana</option>
<option value="Arial">Arial</option>
<option value="sans-serif">serif</option>
</select>
</p>
<br >
<p>
<%= u.submit %>
</p>
<hr >
<div style="background: #{current_user.bg_color};"></div>
<div style="background-color:#{current_user.font.nil? ? '#FFFFFF' : current_user.font}">
This is the changes made in background
</div>
<div style="background-color:#{current_user.bgcolor.nil? ? '#FFFFFF' : current_user.bgcolor}">
</div>
<% end %>
的routes.rb
devise_for :users, :controllers => {:registrations => "my_devise/registrations"}
devise_scope :user do
authenticated :user do
root :to => 'my_devise#registration', as: :authenticated_root
end
unauthenticated :user do
root :to => 'devise/registrations#new', as: :unauthenticated_root
end
end
schema.rb
ActiveRecord::Schema.define(version: 20150420060137) do
create_table "users", force: :cascade do |t|
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", default: 0, null: false
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.datetime "created_at"
t.datetime "updated_at"
t.text "title"
t.text "font"
t.string "bgcolor"
t.text "description"
end
答案 0 :(得分:0)
您需要做的是在注册后想要重定向到其他页面。设计提供了很棒的教程:
How To Redirect to a specific page on successful sign up
有关更多教程,请访问:
https://github.com/plataformatec/devise/wiki/How-Tos
如果您遇到任何在实施时无法搜索的错误或问题,请在此处发布。