質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

1回答

2105閲覧

掲示板、書き込んだ本人かどうか判別するID

kirin311

総合スコア53

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

1クリップ

投稿2017/06/30 17:34

編集2017/07/01 01:05

今回、当方Cloud9環境でありますが、RubyOnRailsを始めましたので以下のURL
https://cyllabus.jp/courses/r9NBvH810khxpaN4PmQPTQ
を参考にscaffoldを使って掲示板を作っております。

以上の手順を踏まえてプラス機能の追加をつけるべく、2chにあるような表示するID(自分の偽物かどうか判別するID)ついてググってやってきましたがそれでも不明なことがありましたのでここで質問させていただきます。

#書き込んだ本人かどうか判別するID
migrate

class AddIdToComment < ActiveRecord::Migration def change add_column :comments, :digitid, :text end end

commentコントローラーのCreateの部分

@comment.digitid = SecureRandom.urlsafe_base64(8)

と入力いたしました。
正し、この場合コメント入力の度にSecureRandomの生成されてしまいます。

私としては、
◆初期値としてID生成?
◆利用者の判断はIPアドレス?
◆24時過ぎるとID更新
⇒(利用者が24時過ぎるまでは、同じIDを使う)※入力済みには、DBとしてレコードに保存されるため

と考えており、

if @comment.ip == @comment.ip#利用者の判断はIPアドレス? if Time.zone.now > 1.day.ago#24時過ぎるとID更新 @comment.digitid = SecureRandom.urlsafe_base64(8) else @comment.digitid end end

以上の通りIF文を追加、修正入力してみましたが、結局commentコントローラーのCreateの部分の内容と変わらず、何か良い方法のアドバイス頂けないでしょうか?
特に◆の部分の考え方が足りないと思っておりますのでご教示いただければと思います。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/07/01 00:36

そもそも何用の ID なんでしょうか?
kirin311

2017/07/01 00:47

質問ありがとうございます。IDは、掲示板に表示されるIDです。例で言いますと2chにあるような掲示板です、板内において自分の偽者が出ないようにIDで判断したいという形ですね
guest

回答1

0

ベストアンサー

個人認証をしない限り、個人を特定することは非常に難しいです。
その為、一般的に匿名掲示板は、個人を特定するのではなく、投稿したブラウザを特定します。
実装としては、セッション情報にユニークIDと生成時刻を投入しておくのが楽かと。

投稿2017/07/01 01:56

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kirin311

2017/07/01 03:50

ありがとうございます。 セッションというキーワードを元にググってやっていきたいと思います。
kirin311

2017/07/06 00:07

解決しましたのでベストアンサーとさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問