添加额外字段以设计表单

时间:2012-09-19 19:58:28

标签: ruby-on-rails-3 devise

我在Rails应用程序中使用Devise,并且需要在用户登录时传递额外的字段(可能)。如果用户通过子域登录,一切正常。如果他们没有子域进来,我希望他们被要求把它放到一个文本框中。子域不是用户模型的一部分,它是组织(公司)的一部分。这是观点 ```

<div class="row">
    <%= f.email_field :email, :class => "input_text", :placeholder=> "Email" %>
</div>

<div class="row">
    <%= f.password_field :password, :class => "input_text", :placeholder=> "Password" %>
</div>

<% if request.subdomain.blank? %>
  <div class="row">
    <%= f.text_field :subdomain, :class => "input_text", :placeholder=> "Organization" %>
  </div>
<% end %>

```

以下是用户模型的相关部分......

```

devise :token_authenticatable, :database_authenticatable, :recoverable, :rememberable, :trackable, :lockable, 
  :authentication_keys => [:email], :request_keys => [:subdomain]

def self.find_for_authentication(conditions={})
  conditions[:organization_id] = Organization.find_by_subdomain(conditions[:subdomain]).id
  conditions.delete(:subdomain)
  super(conditions)
end

```

我最终在视图中为nil类定义了子域名。

关于如何使这项工作的任何想法?

0 个答案:

没有答案