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

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

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

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

Model

MVCモデルの一部であるModelはアプリケーションで扱うデータとその動作を管理するために扱います。

Ruby on Rails

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

Q&A

解決済

1回答

976閲覧

複数言語に対応したフォームを作りたい

mttkd399

総合スコア13

Ruby

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

Model

MVCモデルの一部であるModelはアプリケーションで扱うデータとその動作を管理するために扱います。

Ruby on Rails

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

0グッド

0クリップ

投稿2018/11/06 12:24

実現したいこと(Ruby on Rails)

イメージ説明
イメージ説明
上記のように、ユーザー(投稿者)に入力してもらうページで、同じ項目に対して複数の言語に対応したフォームを入力し、保存する。

◎細かい仕様
・タイトル()の横にアイコンか何かを置いておいて、そこをクリックすると日本語か英語の言語が選べるようになる(実際のページには日本語か英語のどちらか一方しか表示されない)
・タイトル()には最初は何も保存されていない(その場合フォームは空欄)
・文章が保存されているフォームについては、フォーム入力欄を開くと保存した文章がValueとして表示される

◎補足
・ここでユーザー(投稿者)が設定した文章は、別のユーザー(閲覧者)がアクセスした時に、そのブラウザが設定している言語によって自動で表示分けされる

モデルの階層構造化やDBに保存する値を2種類用意するなどの解決策がありそうなのですが、自分ひとりでは解決に至らなかったのでご質問しました。
よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

入力時に「ブラウザが設定している言語」もDBに保存しておいて、
データ取得時の抽出条件にDB.言語 = ブラウザ.言語を用いればよいのでは。

投稿2018/11/06 12:48

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

mttkd399

2018/11/06 13:30

質問の意図がわかりにくかったらすみません。今回、「投稿者のブラウザ設定言語は関係なく、あくまで閲覧者側のブラウザ言語に合わせて文章を表示したい」という想定です。投稿者側がある1つの項目に対して複数の言語を設定しておいて、アクセスしてきた閲覧者に適切な言語で文章を表示するというものです。 この想定でも実現可能でしたらもう少し詳しく教えていただけると幸いです。
退会済みユーザー

退会済みユーザー

2018/11/07 11:44 編集

想定していたこと 1.投稿時 フォームの内容を保存しているテーブルに、「言語」カラムを用意して、入力時に選択した言語(英語/日本語)を保存する。 2.閲覧時 テーブルから表示する内容を引っ張ってくると思われるので、その時の抽出条件に「DB.言語 = ブラウザ.言語」を使う。(閲覧者が"英語"を設定している時は「言語」カラムに"英語"が設定されているものを取得する) 想定していないこと 1.現在のテーブルの構造・DBの種類・データの保存/取得方法 2.閲覧者のブラウザから設定言語を取得する処理 3.その他、記述していないこと
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問