相关疑难解决方法(0)

设计:用户所属组织

我正在使用设计进行身份验证,在"注册"页面上,我有一个"组织"文本字段,因此当用户注册时,他们将创建一个组织,我希望用户与该组织相关联(用户模型具有organization_id属性).我创建了设计视图,并为组织名称添加了fields_for.在我的模型中,我有User belongs_to:organization and Organization has_many:users(将有多个用户与组织关联).在没有修改控制器的情况下,我已经找不到尝试这样做的每一条路,但没有运气.请不要在不修改控制器的情况下建议这样做,除非你有一个示例应用程序,你已经实现了它,你可以指向它.

我已经创建了一个注册控制器,如下所示:覆盖设计注册控制器

我只是在控制器中抛出了一些put语句,我没有看到它们显示在控制台上,所以看起来我没有进入这个控制器.

我还将我的观点从app/view/devise/registrations复制到app/views/registrations,之后我的观点似乎来自外太空!我创建的组织字段不再显示,我似乎无法分辨加载视图的位置.

很抱歉没有更简洁,但我不知道该去哪里.

ruby-on-rails devise

5
推荐指数
1
解决办法
3453
查看次数

使用带有Devise的嵌套属性时的批量赋值警告

我遇到嵌套属性和Devise的问题.与如何在设计模型中使用嵌套属性类似的问题.据我所知,我已按照此处的建议设置了所有内容: 覆盖设计注册控制器

我已经设置了关联的用户和订阅,我已经"accepts_nested_attributes_for"和包括:subscriptions_attributesattr_accessible,但我从设计控制器警告.

class User < ActiveRecord::Base
    devise :database_authenticatable, :registerable,:recoverable, :rememberable, :trackable, :validatable
    validates_presence_of :first_name, :last_name
    has_many :subscriptions
    accepts_nested_attributes_for :subscriptions
    attr_accessible :first_name, :last_name, :email, :password, :password_confirmation, :remember_me, :subscriptions_attributes    
    ... 
end
Run Code Online (Sandbox Code Playgroud)

-

class Subscription < ActiveRecord::Base
  belongs_to :user
  validates_presence_of :user_id, :chargify_subscription_id, :chargify_product_handle
  attr_accessible :user_id, :chargify_subscription_id, :chargify_product_handle
  ... 
end
Run Code Online (Sandbox Code Playgroud)

设计/注册/ new.html.erb:

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
    <%= devise_error_messages! %>
    <p><%= f.label :first_name %><br />
      <%= f.text_field :first_name %></p> …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails nested-attributes devise ruby-on-rails-3

4
推荐指数
1
解决办法
3069
查看次数

从设计覆盖注册控制器时,是否可以在创建操作上访问新创建的用户?

我正在尝试在用户注册后立即创建一个文件夹,所以我覆盖了注册控制器上的创建操作(设计),但我不知道如何访问新创建的用户以创建具有其名称的文件夹稍后上传文件.

到目前为止,我有这个:

class RegistrationsController < Devise::RegistrationsController

  def new
    super
  end

  def create
    super
    create_folder
  end

  def update
    super
  end

  def create_folder
    path =  Pathname.new(':rails_root/tmp/')
    directory_name = ":current_user"
    Dir.mkdir(path, directory_name) unless File.exists?(directory_name)
  end
end
Run Code Online (Sandbox Code Playgroud)

的routes.rb

 devise_for :users, :controllers => {:registrations => "registrations"}
Run Code Online (Sandbox Code Playgroud)

我按照这个来覆盖注册控制器.

  1. 我应该把它留在那里还是将它移到创建动作中?而不是使用方法
  2. 是访问当前用户的正确方法吗?
  3. 也许不是注册而是在登录时做得更好?

我很感激我能得到任何帮助.

ruby ruby-on-rails mkdir devise ruby-on-rails-3

4
推荐指数
1
解决办法
2313
查看次数

Rails Devise防止在注册后立即登录而不使用Confirmable

使用案例:

  1. 管理员应该能够创建用户,并且不应该尝试登录.
  2. 公共用户可以创建帐户,注册后他应该被重定向到登录页面,而不是立即登录.

有人可以帮我这个吗?

谢谢 :)

ruby-on-rails devise devise-confirmable

2
推荐指数
1
解决办法
3624
查看次数

设计自动登录用户

当我注册一个用户,但还没有确认设置时(即将来会被注释掉),它会自动登录用户吗?

我需要sign_up来签署用户,但不签署他,它需要重定向到登录页面,我如何注册不登录用户?

ruby-on-rails cucumber devise

1
推荐指数
2
解决办法
7036
查看次数