1

私はRailsの初心者で、Webアプリを一緒にハッキングし始めました。

deviseを使用してユーザー登録を設定し、deviseビューテンプレートも生成しました。

そこにカスタムモデル(ユーザー名、名、名前など)を追加しました。次に、user.rbなどのattr_accessorに追加し、これらの詳細の存在を検証します。

うまくいった編集登録フォームにこれらの要素を追加することを考えました。

サインアップページで-コードは電子メール、パスワード、パスワードの確認のみを要求します(デバイスによってデフォルトとして設定されているように)。

(これらすべての手順を実行した後)新しいユーザーとして登録しようとすると、名を空にすることはできず、名前を空にすることはできないなどのエラーが表示されます。

これらをサインアップから除外し、ユーザープロファイル編集でアクティブに保つにはどうすればよいですか?

私は理にかなっていると思います。事前にあなたの助けに感謝します

4

2 に答える 2

0

ビュー>deviseフォルダーに移動し、登録フォルダーがない場合は登録フォルダーを作成して、new.html.erbに次のリンクで見つけたファイルを表示させることができます: https ://github.com/plataformatec/devise /blob/master/app/views/devise/registrations/new.html.erb

それを新しいファイルにコピーし、必要に応じてカスタマイズします...デバイスのデフォルトビューを上書きする必要があります。

于 2013-01-06T02:49:47.310 に答える
0

私が正しく理解していれば、サインアップ/登録時に、そのフォームから他のユーザーモデル属性(名、名前)を除いて、電子メールとパスワードのみを要求したいと思います。ただし、後でユーザーがプロファイルを編集するときに、これらの他の属性を検証する必要もあります。

したがって、サインアップフォームの送信時に提供されないこれらの追加属性の存在を検証しているため、新しいユーザーレコードを作成しようとしても、検証時に作成できません。

検証オプションを試して:on => :update、レコードが保存されるたびに検証するデフォルトではなく、後で更新されたときにのみ特定のフィールドを検証するように指定してください。このような:

class User < ActiveRecord::Base
    validates :email, :presence => true
    validates :firstname, :presence => true, :on => :update
    validates :surname, :presence => true, :on => :update
    ...
end

http://guides.rubyonrails.org/active_record_validations_callbacks.html#onを参照してください

于 2013-01-06T10:02:03.423 に答える