初心者です。Rails 4でjavascript(coffeescript)からcontrollerのactionを実行したいのですが、どのような方法があるのでしょうか。また、javascript側の変数の値をRails側に渡す方法も教えていただきたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
Ajaxを使う方法があります。
Ajaxがわからない場合はドットインストールで動画を見ていただくといいかもしれません。
http://dotinstall.com/lessons/basic_jquery_v2/25216
下記はjQueryを使った例です。
javascript
1$.ajax({ 2 // 実行したいactionへのpathに置き換えてください。 3 // 例えば users_controller の create アクションなどの場合は 4 // /users/create などとなると思います。 5 url: '/path/to/action', 6 // GET, POST, PUT, DELETEなどを設定します。 7 type: 'GET', 8 // urlにつけるパラメータを指定します。 9 data: { 10 // JSの変数の中のデータをRailsに渡します。 11 // Rails からは parmas[:hoge] で受け取れます。 12 hoge: 'fuga' 13 }, 14 }) 15 .done(function(response){ 16 // Railsのアクションが正しく実行された時の処理 17 }) 18 .fail(function(xhr){ 19 // Railsのアクションなどでエラーが発生した時の処理 20 }); 21
投稿2016/01/11 09:44
退会済みユーザー
総合スコア0
0
javascript 側から ajax で Rails 側の Controller を呼び出して処理結果を得ることができます。
ajax 呼び出しの際に、javascript 側でパラメータを設定できます。
Controller では paramas として そのパラメータにアクセスできます。
https://teratail.com/questions/23695
に ajax の利用例があります。
そこでは、javascript 側から markdown 形式の文字列を Rails 側に渡しています。
Rails 側では、受け取った文字列を html に変換した結果を javascript 側に返します。
javascript 側では、受け取った html を画面上にリアルタイムで反映させています。
投稿2016/01/11 10:37
総合スコア22324
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/11 10:31