プログラミング初心者なので、的外れな質問かもしれませんが、よろしくお願いいたします。
質問:自分だけが商品データを追加できる場合、新たに商品データの追加をするときってどうするのですか?
- 自分だけがtrueのサイト管理者カラムを設ける
- if サイト管理者 で自分だけに商品編集linkが表示されるようにする
- 商品編集controllerにbefore_action等でアクセス制限する
が一般的なのですか?
それとも、まだサーバー構築やgitの勉強をしていないのですが、gitとサーバーを連携させてデータを追加させるのですか?
よろしくお願いいたします!
補足
今、練習がてらペットボトルのお茶を紹介するサイトを作っているのですが、新商品が発売された時ってどうするの?っという疑問から質問させていただきました。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
0
商品データを追加等とありますが、ECサイト等の管理サイトで商品を追加する等のようなものですか?
もしそうであれば、
通常はデータベースにユーザーテーブルを作成し、認証機能を実装し、ログインしたものだけが管理サイトを利用できるような作りにする。管理サイトにログインできたもの全てが商品データ編集ができるので良いならここまで。
また管理サイトにログインできるユーザーの中でも商品データ追加は自分だけ(特定のユーザーだけ)しかできないようにするというのであれば、先ほどのユーザーテーブルにroleのようなカラムを追加し、ユーザー、ロールの概念が必要。
ロールは直訳すると役割、、なのでたとえば
ロールに例えばguest,staff,managerなど3種類を想定し、
ログインユーザーのロールがguestもしくはstaffのユーザーの場合は商品データ追加はできない(該当コントローラにアクセスできない)、ロールにmanagerがセットされているユーザーの時のみアクセス可にする
というような流れかな?と思います。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
1. 自分だけがtrueのサイト管理者カラムを設ける
2. if サイト管理者 で自分だけに商品編集linkが表示されるようにする
3. 商品編集controllerにbefore_action等でアクセス制限する
が一般的なのですか?
基本的にはその流れです。
問題はそれをどう実現するか、あなたがあなた自身である事をどう判断するかです。
しかし、このような仕組みはどのサイトでも組込まれる事が多い機能ですのでオープンソースのライブラリを使う事も可能です。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.35%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2016/10/25 21:45
2016/10/25 21:52
今、練習がてらペットボトルのお茶を紹介するサイトを作っているのですが、新商品が発売された時ってどうするの?っという疑問から質問させていただきました。
よろしくお願いいたします!
2016/10/25 22:02
2016/10/25 22:16
疑問なのですが、新商品が仮に100個出た時も一つ一つ商品登録しないといけないのですか?
ide側から新商品100個を登録して、その結果をサイトに反映させる事も出来るのですか?
2016/10/25 22:52 編集
簡単の為すごく単純に商品テーブルのカラムを商品ID,商品名,商品説明の3カラム用意した場合、前者はフォームに商品名を入力するテキストボックス、商品説明を入力するテキストエリアを用意して入力&更新でDBにinsert、その時の商品IDをユニークに振る(pk)後者は商品名、商品説明のカラムを持つCSVファイルに希望するだけの商品数記入してアップロードしアップロードしたファイルをプログラム側で読み込んで商品数分insertが普通だと思います。
スマホでからのコメントなので読みにくいと思います、すいません(^◇^;)
2016/10/26 22:50
だいぶイメージしやすくなりました!