2016-04-22 6 views
1

私はRailsを初めて使いました。 私はユーザーがボタンをクリックするようにしたい(私はDeviseを使用しています)、押したときに電子メールがリストに追加されます。また、登録した人の数を示すカウンターが必要です。これどうやってやるの?ボタンをクリックしたときにユーザの電子メールをリストに追加する方法

+0

また、どのような種類のリストですか?データベースに格納?等? – Doon

+0

質問をちょっと分かりやすくしてください – Lymuel

+0

私は何も試していません。私が言ったように、私は本当に新しいです。リストをDBに保存したい。 @Doon –

答えて

0

私が作成している方法は、ユーザーの現在の電子メールの値を持つフォームを使用することです。それをリストに追加します。

0
私がどのように見えるかをリスト分からないけど

は、ユーザーの電子メールが含まれているUserモデルか何かにemail列を追加します。クラスメソッドを使用し、サインアップしているどのように多くの人々示すため http://guides.rubyonrails.org/active_record_migrations.html

class AddEmailToUsers < ActiveRecord::Migration 
    def change 
    add_column :users, :email, :string 
    end 
end 

User.count(:email) 

私の理解が正しければ正直に不明な質問です。

0

deviesを使用している場合、基本的にあなたのユーザーのテーブルに電子メールフィールドがあります。

は、あなたが望むものを得る新しい移行を作成するには、 タイプこれはあなたのコントローラ

class UsersController < ApplicationController 
    def index 
     if params[:add_to_signed_up].present? 
      user = User.find(params[:id]) 
      signed = SignedUpUser.new 
      signed.add_to_signed_up(user.email) 
      @signed_count = SignedUpUser.count 
     else 
      # you code 
     end 
    end 
end 

モデル

class SignedUpUser < ActiveRecord::Base 
    def add_to_signed_up(email) 
     self.email = email 
     self.save 
    end 
end 

ビュー

/> rails g migration create_signed_up_users email:string 
/> rake db:migrate 

その後、あなたのコマンドラインにコマンド

<%= link_to "Add to signed up", user_path(id: @user.id, add_to_signed_up: 1) %> 
<%= @signed_count %> 
+0

ありがとう!しかしもう1つの質問、申し訳ありません。人々をリストに追加するボタンのコードは何ですか? –

+0

申し訳ありませんが、私は上記の私の質問を見ることができますタグを忘れてしまった?途中で多くのありがとう、スーパー便利です! –

+0

@SamH、よろしくお願いします。 – Lymuel

関連する問題