簡體   English   中英

Ruby on rails超簡單的注冊頁面

[英]Ruby on rails super simple signup page

我如何能夠在軌道上制作帶紅寶石的注冊頁面?

就像,我有一個測試頁面,用戶輸入他們的電子郵件地址,然后我可以將它添加到數據庫。

此外,我可以向他們發送確認他們注冊的電子郵件

編輯:我想要一些非常簡單的東西。 就像,只是在數據庫中簡單地添加一行簡單。 我不需要密碼框和用戶名框,因為這更加復雜了。 我是初學者,所以我喜歡簡單的事情。

在終端:

$ rails new foobar
$ rm public/index.html
$ git init
$ git commit -m "Initial commit"
$ rails g scaffold subscription email:string

打開你的編輯器:

# app/models/subscription.rb
class Subscription < ActiveRecord::Base
  validates :email, :presence => true # optionally validate format of email
end

# app/controllers/subscriptions_controller.rb
class SubscriptionsController < ApplicationController
  def new
    @subscription = Subscription.new
  end

  def create
    @subscription = Subscription.new params[:subscription]
    if @subscription.save
      # queue a task to send a confirmation email (see below)
      Resque.enqueue(SendConfirmationEmail, @subscription.email)
      redirect_to root_path, :notice => 'Thanks for signing up.'
    else
      render :new
    end
  end
end

您可以從SubscriptionsController中刪除所有其他方法/操作,並且可以通過使用以下資源限制subscriptions資源上可用的操作來清理routes.rb resources :subscriptions, :only => [:new, :create]

這並沒有真正涵蓋如何發送電子郵件。 有很多方法可以做到這一點,最佳做法是不在請求/響應流程中將其發送以提高性能/響應能力。 我在那里排隊等待Resque工作,但你可以輕松地在那里添加DelayedJob或其他延遲/異步處理工具。

這是在Rails中很容易做到的事情,你不需要任何額外的寶石。 以下是您需要執行的步驟:

  • 使用遷移創建名為Signup的模型(即數據庫表),其中包含名為“email”的字符串字段。
  • 創建可以使用“GET”請求調用的操作。 此操作將返回注冊表單。
  • 創建用作注冊表單的視圖。 它應該有一個HTML表單元素( <form method="POST">...</form> ),其中包含一個文本框( <input type="text" .../> )和一個提交按鈕( <input type="submit" /> )。 Rails有各種幫助方法可以幫助你制作那些HTML標簽,但如果你不想這樣做,就不必使用它們。
  • 創建一個可以使用“POST”請求調用的操作,該請求處理表單並將信息添加到數據庫。

動作可以非常簡單:

def create_signup
  Signups.create! :email => params[:email]
end

這有意義嗎? 現在我已經給了你一般指南,你應該能夠提出更多關注你不知道該怎么做的特定部分的新問題。 您還應該搜索網絡,因為可能有適用於所有這些步驟的教程。

我為此做了一個應用程序。 Launchrock提供了一個很好的解決方案,但是如果你有兩種類型的用戶,那么你就會受到沖擊。 我們未來的網站將有多種類型的用戶,我們想記錄他們的類型。 所以我們制作了一個應用程序,它在Github上供全世界使用和改變。 :D Fork並克隆回購以使其成為您自己的回購。 我也包括了社交插件。 它沒有風格,你必須改變一些東西以滿足你的需求,但我試着記下README.rd中的那些。

Launchpage護欄

這個問題太寬泛了,無法回答代碼本身,但這里有一些很棒的鏈接可以指出你正確的方向:

設計(最常見的Rails身份驗證和注冊插件):
https://github.com/plataformatec/devise
設計教程:
http://railscasts.com/episodes/209-introducing-devise
梅勒教程:
http://railscasts.com/episodes/206-action-mailer-in-rails-3
其他Auth教程:
http://railscasts.com/episodes/250-authentication-from-scratch
http://railscasts.com/episodes/270-authentication-in-rails-3-1

你可以看看'Devise'寶石 -

https://github.com/plataformatec/devise

關於'Devise'的Railscasts劇集

http://railscasts.com/episodes/209-introducing-devise

優秀的“Rails教程”還將引導您從頭開始構建注冊/身份驗證系統 -

http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM