質問編集履歴

3

修正

2020/11/04 02:25

投稿

MH00214
MH00214

スコア53

test CHANGED
File without changes
test CHANGED
@@ -1,111 +1 @@
1
- ## 現状と相談内容
2
-
3
-
4
-
5
- * バックエンドがRails、フロントエンドはHTML,SCSS,jQuery,フォーム部分だけVue.jsで作っているアプリケーションを開発しています
6
-
7
-
8
-
9
- * 今回は、フォームに記載されたデータを「送信する」ボタンを押したらSalesForceにデータを飛ばし、無事に送信されたら「送信完了しました」というモーダルを表示する、という実装について相談したいです。
10
-
11
-
12
-
13
- ## 今回設計を相談したい箇所
14
-
15
- * フォームの送信をPOST送信で行うんですが、SalesForceの開発用のAPIと本番用のAPIが違うので、POST先を環境ごとに出し分けて送信できるようにしたいです。
16
-
17
-
18
-
19
- ## フォームの大まかな仕様
20
-
21
- 1. ユーザーが入力
22
-
23
- 2. 送信ボタンをおす
24
-
25
- 3. バリデーションチェック
26
-
27
- 4. OKならPOST送信し、一瞬SalesForceのAPIに遷移する(NGならバリデーションエラーを出す)
28
-
29
- 5. POST送信が完了したら、同じURLに戻ってくる
30
-
31
- 6. そのタイミングでフォームの中身を空にしたり、モーダルを出す
32
-
33
-
34
-
35
- ## 現在悩んでいること
36
-
37
- * formのPOST送信をする際にaxiosを使ってPOST送信するか、HTMLのformタグのaction属性を使ってPOST送信するかで悩んでいます。
38
-
39
-
40
-
41
- #### Vue.js + axiosの場合
42
-
43
-
44
-
45
- ```HTML
46
-
47
- <form @submit.prevent="submitInquiryData">
48
-
49
- // フォームの中身
50
-
51
- </form>
52
-
53
- ```
54
-
55
-
56
-
57
- ```javascript
58
-
59
- axios.post('SalesForceのAPIのURL(ここが切り替わるようにする)', formPostData(ここはフォームのデータのオブジェクト), { timeout: 10000 })
60
-
61
- .then(function () {
62
-
63
- // フォームリセットしたり、モーダル出したり
64
-
65
- }.bind(this))
66
-
67
- .catch(function (error) {
68
-
69
- // エラー処理
70
-
71
- }.bind(this))
72
-
73
- ```
74
-
75
-
76
-
77
- 過去に上とほぼ同じ仕組みでフォーム実装したので、これができるといいのかもれないです。
1
+ 一部不具合を含んだコードや誤った述があったため、質問削除まし。再度調べ直て投稿します。
78
-
79
-
80
-
81
- #### formタグのaction属性を使う場合
82
-
83
-
84
-
85
- ```HTML
86
-
87
- <form action="<%= "#{actionのURL}" %>" method="POST">
88
-
89
- // フォームの中身
90
-
91
- </form>
92
-
93
- ```
94
-
95
-
96
-
97
- この方法の場合はVue.jsでどう処理すべきかまだ方向性が作れていません。
98
-
99
-
100
-
101
- この方法の場合、action属性のURLの出し分けはSettings.salesforce.actionで環境ごとにできるのですが、この方法の時には上のaxiosの時のようにバリデーションチェックをして、OKならPOST送信、NGならPOST送信しない、みたいな
102
-
103
- 細かい処理を書くことができないのでは、、と思っております。
104
-
105
-
106
-
107
- 前者の場合だとaxiosのURLを環境ごとに変更する方法、後者の方法だとaxiosの時のように成功、失敗の時のVue.jsでの細かい挙動の制御ができるのか(できるならその方法)という点を知りたいです。
108
-
109
-
110
-
111
- アドバイスいただければ嬉しいです。よろしくお願いいたします。

2

修正

2020/11/04 02:24

投稿

MH00214
MH00214

スコア53

test CHANGED
File without changes
test CHANGED
@@ -84,7 +84,7 @@
84
84
 
85
85
  ```HTML
86
86
 
87
- <form action="<%= "#{Settings.salesforce.action}" %>" method="POST">
87
+ <form action="<%= "#{actionのURL}" %>" method="POST">
88
88
 
89
89
  // フォームの中身
90
90
 

1

修正

2020/11/04 02:23

投稿

MH00214
MH00214

スコア53

test CHANGED
@@ -1 +1 @@
1
- Javascript】【Rails】フォーム送信を実装する際の設計について相談したい
1
+ Vue.js】【Rails】フォーム送信を実装する際の設計について相談したい
test CHANGED
File without changes