joppot

コピペで絶対動く。説明を妥協しない

プログラミング

railsのscaffoldでremote formを使ってフォームの送信をajax化する

投稿日:

Pocket

Tech Valves

概要

みなさんこんにちはcandleです。
今回はrailsのformをremoteを使ってajaxしたいとおもいます。
正直、解説するまでもなく簡単です。


前提

適当なrailsプロジェクトが存在する

scaffoldの使い方を把握している

twitter bootstrap gemを使って解説をしています
twiwtter bootstrap gemはデザイン名で見やすくする為に使うので、無くても構いません。
もしも、記事と同じ様に、進行したい場合は下のURLを参考にしてください。

ruby on rails4でtwitter bootstrap 3のgemを使用してscaffoldを作成する

SPONSORED LINK


scaffoldを作成する

scaffolを作成します。
railsのプロジェクト内で以下のコマンドを実行して、作成します。

rails g scaffold RemoteForm title:string description:text

作成されたら、マイグレーションファイルをデータベースに反映させます。

rake db:migrate

twitter bootstrap gemを入れている場合は
下のコマンドでデザインを適応させます。

rails g bootstrap:themed RemoteForms

これでscaffoldが完成しました。

普通にフォームを送信してみる

以下にアクセスすると、
http://localhost:3000/remote_forms/new

普通のフォームが出てきます。

basicform

サンプル用に1つ新しくデータを送信しておいてください。
内容を記述して、「Create remote form」を押すと、送信されます。


remoteの属性を与えてajax化する

送信するのみなら、ajax化は楽勝です。

app/views/remote_forms/_form.html.erb

を開いて、form_forの部分を以下の様に変更します。

<%= form_for @remote_form, remote: true, :html => { :class => 'form-horizontal' } do |f| %>

toremote

@remote_formの後に「remote: true」と書くだけです。
ちなみにこちらの表記でも動きます。「data: { remote: true }」

あとは、フォームの値を変更するならい作成するなりして、送信すればそれがajaxになります。
omebagonzaresu

まとめ

ここまで簡単なら、別段記事にしなくても良かったのですが、まとめておきます。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-プログラミング
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Rails pluginでengineを使ったgemの作り方[5](view helper編)

概要 みなさんこんにちはcandleです。今回はgemのview helperの作り方です。 helperというのは様はgemにすることで便利になる関数を作るとというイメージです。 よくあるのが、こん …

phpとmysqlでアカウント管理する時のテストユーザーのパスワードの暗号化はmysqlのsha1でもできる

by brewbooks 概要 みなさんこんにちはcandleです。最近はphpでサービスを書いたりしています。その中でテストユーザーのアカウント管理でパスワードを暗号化してデータベースに収めています …

fabricでvagrantのデフォルトの秘密鍵を使ってサーバにアクセスする

概要 みなさんこんにちはcandleです。今回はfabricを使ってvagrant上のvmにアクセスする方法を紹介します。様々なサイトを閲覧すると、あまりvagrantのデフォルトの鍵を使用して、fa …

Chart.js 2.0でy軸の最大値(scales max)と最小値を設定する

概要 みなさんこんにちはcandleです。今回はChart.js2.0でy軸の最大値、最小値を設定する方法を紹介します。 Chart.js 2.0では特に指定しないと自動的に、y軸の最大値を設定してく …

memcachedサーバとruby on railsのdalliを使用してセッションを管理する

概要 みなさんこんにちはcandleです。今回はmemcachedサーバを利用してrailsのセッションを管理してみたいと思います。 一般にrailsでセッション管理をしていると、ブラウザのcooki …

  • English
  • 日本語

プロフィール


ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー

スポンサードリンク

アーカイブ