2016-05-24 7 views
1

新しいです。私が真剣に謝罪する前にこの質問が尋ねられたなら、私は検索を思いつく言葉を見つけるのが得意ではない。ゲームや予測ブログの記事としてゲームのRails - あるコントローラの作成/新規アクションを別のコントローラのインデックスに入れたいのですが?

思う:

私は2つのコントローラを持っています。新しいゲームが生成されたら、私はそれらをすべて/ games /に投稿します(私はサイト全体のインデックスページを作成しました)

これらのゲームには、下にフォーム送信ボタンが付いたオプションがあります。このサブミットボタンを予測コントローラから新しい予測を生成させる方法はありますか?私は、私が予測していることは、予測コントローラの作成/新しいメソッドをゲームコントローラのインデックスにレンダリングすることができますか?ゲームビューのindex.html.erbファイルのすべてのフィールドを含むアクションをform_forに配置するだけで簡単ですか?

ありがとうございます。私はこれを尋ねている唯一の人ではないと確信していますので、私はより広範に検索します。

+0

新しいページにルーティングするか、現在のページでレンダリングしますか? –

+0

私は提出しますか?私は現在のページでそれをレンダリングしたいと思います。 私はちょうど<%= form_for @prediction do | f | %>をゲーム/インデックスビューの適切な場所に表示しますか?おそらくルーティング問題が起こるでしょう。私は今これを試してみるつもりです。 – Joe

答えて

0

フォーム情報を含むリクエストをPredictions Controllerに送信したいと思うようです。次に、Predictions Controllerがいくつかのhtmlを返すようにしてから、リフレッシュせずにページにレンダリングすることができます。

これを行うには、RailsでAJAXリクエストを作成することをお読みください。私はすばらしいGoogleをやって、それについてのかなり簡単な説明であると思われるこの記事を見つけました。おそらくありその説明では、いくつかのギャップことが、私はそれはあなたが道のほとんどを得ることができると思います。同じように、一般的な考え方は、あなたのページには、サーバに要求をするつもりです

https://coderwall.com/p/kqb3xq/rails-4-how-to-partials-ajax-dead-easy

をブラウザがリクエストのレスポンスでページをリロードしないことを除けば、通常のページリクエストです。代わりに、ブラウザにブラウザから受信した応答の処理方法を指示するjavascriptを書きます。

+0

正しい方向にポイントのためのトンをありがとう。 – Joe

+0

私はそのガイドを辿って、同様の考え方で数時間にわたり分岐しました。私は、1ページの情報を動的に変更することを気にする前に、リダイレクトするだけのフォームを入手したいと思います。たとえば、 "/ games"のフォームが送信されると、新しい予測オブジェクトを送信してから、すべての予測を表示するshowメソッドがある "/ predictions"に移動します。私はフォームの<%= form_for ...部分で、明らかに変数@predictionがゲームコントローラで宣言されていないため、混乱しています。ゲームコントローラの変数を宣言するにはどうすればいいですか? – Joe

+0

私はRailsで錆びていますが、あなたの説明に基づいて、ゲームは1つ(または多く)の予測と関係していると思います。あなたが望むと思うのは、新しい予測を作成するために必要なすべてのデータを収集することです。あなたはページ上の各ゲームのためのフォームを持っていますか?もしそうなら、<%form_for([@ game、@prediction])%>を使って各フォームをレンダリングできるかもしれません。これは、GameモデルがPredictions(ゲームモデルでは "has_many:predictions")との関連付けを持っていると仮定しています。これは私が追跡できる最も近いシナリオです:http://stackoverflow.com/questions/14702459/ruby-on-rails-association-form –

関連する問題