まだレールとルビーの初心者で、私が持っていた問題を修正して「スーパー」を追加した理由を理解しようとしています。 (実際にはなぜそれが今働くのかわかりません)rails3:「スーパー」を追加して動作させるものがありますが、理由は誰も説明できません。
私のレール3アプリはDeviseを使用しており、指定されていれば登録フォームの特定のフィールドを "詰め込む"必要がありますURLに...
は、例えば、私の通常の登録URLは空白のサインアップフォームを表示する
http://localhost:3000/users/register
です。
私は何をやっていることが、すでに入力されreferral_codeフィールドと、URL
http://localhost:3000/users/register?referral_code=ABCDEF
表示登録フォームを持っている。
私はすでに独自の工夫登録コントローラが動作していた(I理由新しいユーザーが電子メールの確認リンクをクリックする前にサインアップした後、カスタムの "あなたのメールチェック"ページにリダイレクトする必要があります)。私のroutes.rbをしたがってのように変更されます。
devise_for :users, :path_names => { :sign_up => "register"},
:controllers => { :registrations => "registrations" }
、私の単純なカスタムは、登録コントローラは、現在のように見える工夫:私は私のカスタム「新しい」方法、ビューに「スーパー」を追加する前に
class RegistrationsController < Devise::RegistrationsController
def new
unless params[:refer].nil?
@initial_referred_by = params[:refer].upcase
end
super
end
protected
def after_inactive_sign_up_path_for(resource)
"/setup_awaiting_confirmation"
end
end
表示されたビューコードの行に「エラー」メソッドが見つからないというエラーがスローされますdevise_error_messages!
一方、私は今はうれしいです。しかし、実際にここで何が起こっているのか、ルビー+レールの速度を上げようとすると、なぜ「スーパー」が何であるのか、それが何をしているのかを理解したいと思っています。
私は他のコントローラメソッドをたくさん書いたことがありませんでした。だから私のメソッドとは何か関係がありますか?