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

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

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

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

Ruby on Rails

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

JavaScript

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

Q&A

解決済

2回答

2040閲覧

これ...とてもいいUI/UXなので実装したい...。/ rails5 + js

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

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

Ruby on Rails

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

JavaScript

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

0グッド

1クリップ

投稿2018/01/12 01:56

これ...とてもいいUI/UXなので実装したい...。/ rails5 + js

要約と技術要件

ウォンテッドリーを最近使っていて、同じような実装をしたい部分がありました。
ユーザ編集の挙動です。

技術
Rails5
js
slim

イメージ説明

イメージ説明

大きく2つに挙動は分けられるはず。

(1)フロントエンドでフォーム出力

Qiitaで調べてみるものの、フロントエンドの知識に乏しく、昨今の技術?(ex.react.js?/vue.js?)を用いるのかキャッチアップできず、もし上記に似た実装を説明するソースをご存知でしたら、教えて頂けませんか。

(2)バックエンド非同期更新

これはRailsチュートリアルや、「非同期 rails 編集 」検索で現在調査中です。現在制作中のアプリでは下記のようにredirect_back(fallback_location: root_path)を用いて画面遷移しないようにしていますが、ちゃんとAjaxにするのが目標です。この点についても「実装してわかりやすかったよ!」...というソースをご存知でしたらご教授頂けると幸いです。

def edit @host = Host.find_by(id:current_host) end def update @host = Host.find_by(id:current_host) if @host.update_attributes(host_params) flash[:success] = "編集が完了しました" redirect_back(fallback_location: root_path) # ← 今の所は無理やり元の画面に戻してる else flash[:danger] = "編集が失敗しました" redirect_back(fallback_location: root_path) # ← 本当はちゃんとしたajaxにしたい。 end end

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

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

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

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

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

guest

回答2

0

jsはAngularJSを使っているようですね。>Wantedly
画面的にはクリックを取得して(イベントの補足)、DOMの表示を切り替えて(DOMの操作)、編集完了時点で送信(Ajax)しているだけなので画面側はそんなに難しくないです。開発者ツール使ってソース見ながら動かしてみるとよくわかると思います。
リダイレクトしないようにするというのはそもそもAPIの定義をわかっていない感じですので、非同期の他にRESTとかAPIとかいう単語も合わせて検索してみてください。

投稿2018/01/24 02:51

編集2018/01/24 02:51
perpouh

総合スコア299

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

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

退会済みユーザー

退会済みユーザー

2018/01/26 07:35

perpouhさんありがとうございます。WantedlyにはAngularJSなのですね。その後、調査をしたら、web apiを学ぶべきな気がしたので、学習を進めようと思います。
guest

0

ベストアンサー

最低限必要になのはこれくらいです。

  • イベントの捕捉(ユーザーの操作によって処理を動かす)
  • DOMの操作(JavaScriptで動的にHTMLを書き換える)
  • Ajax (ブラウザ<->サーバ間で通信を行う)
  • バックエンド処理(WebAPI)の用意

JavaScriptの基礎的なイベント処理とDOM操作が理解出来ていないように見えるので、まずはそこを勉強されたほうがいいと思います。

投稿2018/01/23 03:45

rkojima

総合スコア421

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

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

退会済みユーザー

退会済みユーザー

2018/01/26 07:35

rkojimaさん、わかりやすく砕いていただきありがとうございます。JSでのDOM操作からしっかり学ぼうと思います。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問