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

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

ただいまの
回答率

90.51%

  • Ruby

    8957questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    8376questions

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

サイト管理ってifでいいの?

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 519

johnbeetz

score 23

プログラミング初心者なので、的外れな質問かもしれませんが、よろしくお願いいたします。

質問:自分だけが商品データを追加できる場合、新たに商品データの追加をするときってどうするのですか?

  1. 自分だけがtrueのサイト管理者カラムを設ける
  2. if サイト管理者 で自分だけに商品編集linkが表示されるようにする
  3. 商品編集controllerにbefore_action等でアクセス制限する

が一般的なのですか?

それとも、まだサーバー構築やgitの勉強をしていないのですが、gitとサーバーを連携させてデータを追加させるのですか?

よろしくお願いいたします!

補足
今、練習がてらペットボトルのお茶を紹介するサイトを作っているのですが、新商品が発売された時ってどうするの?っという疑問から質問させていただきました。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

0

商品データを追加等とありますが、ECサイト等の管理サイトで商品を追加する等のようなものですか?

もしそうであれば、
通常はデータベースにユーザーテーブルを作成し、認証機能を実装し、ログインしたものだけが管理サイトを利用できるような作りにする。管理サイトにログインできたもの全てが商品データ編集ができるので良いならここまで。

また管理サイトにログインできるユーザーの中でも商品データ追加は自分だけ(特定のユーザーだけ)しかできないようにするというのであれば、先ほどのユーザーテーブルにroleのようなカラムを追加し、ユーザー、ロールの概念が必要。

ロールは直訳すると役割、、なのでたとえば
ロールに例えばguest,staff,managerなど3種類を想定し、
ログインユーザーのロールがguestもしくはstaffのユーザーの場合は商品データ追加はできない(該当コントローラにアクセスできない)、ロールにmanagerがセットされているユーザーの時のみアクセス可にする
というような流れかな?と思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/10/25 21:45

    git等と連携させて、、、等と書かれているので上記のような商品管理サイトを想定しているのとまったく別の質問だったならすいません・・・

    キャンセル

  • 2016/10/25 21:52

    回答ありがとうございます!

    今、練習がてらペットボトルのお茶を紹介するサイトを作っているのですが、新商品が発売された時ってどうするの?っという疑問から質問させていただきました。

    よろしくお願いいたします!

    キャンセル

  • 2016/10/25 22:02

    そういう事ですね、それならば言語等関係なく概念的には大まかには先ほどの回答でOKかと思います。

    キャンセル

  • 2016/10/25 22:16

    教えて頂きありがとうございます!

    疑問なのですが、新商品が仮に100個出た時も一つ一つ商品登録しないといけないのですか?
    ide側から新商品100個を登録して、その結果をサイトに反映させる事も出来るのですか?

    キャンセル

  • 2016/10/25 22:52 編集

    例えばよくあるECサイトなどの商品登録は個別に1つづつ登録する方法と、CSVファイルなどのをアップロードして一括登録できる方法の両方実装しているサイトが多いと思います。
    簡単の為すごく単純に商品テーブルのカラムを商品ID,商品名,商品説明の3カラム用意した場合、前者はフォームに商品名を入力するテキストボックス、商品説明を入力するテキストエリアを用意して入力&更新でDBにinsert、その時の商品IDをユニークに振る(pk)後者は商品名、商品説明のカラムを持つCSVファイルに希望するだけの商品数記入してアップロードしアップロードしたファイルをプログラム側で読み込んで商品数分insertが普通だと思います。

    スマホでからのコメントなので読みにくいと思います、すいません(^◇^;)

    キャンセル

  • 2016/10/26 22:50

    とても分かりやすく説明して頂きありがとうございます!
    だいぶイメージしやすくなりました!

    キャンセル

0

1. 自分だけがtrueのサイト管理者カラムを設ける
2. if サイト管理者 で自分だけに商品編集linkが表示されるようにする
3. 商品編集controllerにbefore_action等でアクセス制限する
が一般的なのですか?

基本的にはその流れです。

問題はそれをどう実現するか、あなたがあなた自身である事をどう判断するかです。

しかし、このような仕組みはどのサイトでも組込まれる事が多い機能ですのでオープンソースのライブラリを使う事も可能です。

有名なところでは devise や cancancan でしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/10/25 21:56

    いつも助けて頂き、ありがとうございます!

    >>有名なところでは devise や cancancan でしょうか。
    今、見てみます!

    キャンセル

  • 2016/10/25 22:16

    教えて頂きありがとうございます!

    疑問なのですが、新商品が仮に100個出た時も一つ一つ商品登録しないといけないのですか?
    ide側から新商品100個を登録して、その結果をサイトに反映させる事も出来るのですか?

    キャンセル

同じタグがついた質問を見る

  • Ruby

    8957questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    8376questions

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