1

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 クラスに対してサブドメインが未定義になってしまいます。

これを機能させる方法についてのアイデアはありますか?

4

0 に答える 0