teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

恐れ入ります、修正しました。

2016/10/14 10:44

投稿

Yuinyan
Yuinyan

スコア312

title CHANGED
File without changes
body CHANGED
@@ -17,19 +17,15 @@
17
17
 
18
18
  has_many :tickets
19
19
  accepts_nested_attributes_for :tickets, allow_destroy: true
20
-
20
+ ```
21
+ ```ruby
21
22
  ticket.rb
22
23
  belongs_to :event
24
+ ```
23
25
 
24
- ticket_fields.html.erb
26
+ ```ruby
25
- <% students = { '小学生' => 1, '中学生' => 2, '高校生' => 3 } %>
27
+ form
26
28
 
27
- <% students.each do |st,i| %>
28
- <%= f.check_box :student_type, { multiple: true , include_hidden: false }, i %>
29
- <%= f.label :student_type, st, :value => i %>
30
- <% end %>
31
-
32
-
33
29
  <%
34
30
  if @event.id.nil?
35
31
  resource_info = [@group, @event]
@@ -40,9 +36,132 @@
40
36
 
41
37
  <%= form_for( resource_info,:html => {:multipart => true, :class => "form-horizontal h-adr"}) do |f| %>
42
38
 
39
+ <div class="row ">
40
+ <div class="col-md-3" >
41
+ <div class="gray"><span class="label-title">タイトル</span></div>
42
+ </div>
43
+ <div class="col-md-9">
43
- eventはGroupの子供で、routesにshallowを使っていて、editとnewとで同様のformを使うために上記のような実装となっています。
44
+ <%= f.text_field :title, :class =>"form-control" %>
45
+ </div>
46
+ </div>
44
47
 
48
+ <div class="row ">
49
+ <div class="col-md-3" >
50
+ <div class="gray"><span class="label-title">サブタイトル</span></div>
51
+ </div>
52
+ <div class="col-md-9">
53
+ <%= f.text_field :subtitle, :class =>"form-control" %>
54
+ </div>
55
+ </div>
56
+
57
+ <div class="row ">
58
+ <div class="col-md-3" >
59
+ <div class="gray"><span class="label-title">概要</span></div>
60
+ </div>
61
+ <div class="col-md-9">
62
+
63
+
64
+ <%= f.text_area :description, rows:15,:id => "event_description" ,:class =>"form-control" %>
65
+ </div>
66
+ </div>
67
+
68
+ <div class="row ">
69
+ <div class="col-md-3" >
70
+ <div class="gray"><span class="label-title">場所</span></div>
71
+ </div>
72
+ <div class="col-md-9" >
73
+ <div class="row">
74
+ <div class="col-md-3">
75
+ <%= f.label :zipcode,"郵便番号"%>
76
+ <%= f.text_field :zipcode ,:placeholder =>"郵便番号", :id => "event_zipcode", :class =>"form-control p-postal-code" %>
77
+ </div>
78
+ </div>
79
+ <%= f.label :address,"住所"%>
80
+ <div class="row">
81
+ <div class="col-md-3">
82
+ <%= f.text_field :pref ,:placeholder =>"都道府県 ", :class =>"form-control p-region" %>
83
+ </div>
84
+ <div class="col-md-3">
85
+
86
+ <%= f.text_field :city ,:placeholder =>"市区 ", :id => "address_city", :class =>"form-control p-locality" %>
87
+ </div>
88
+ <div class="col-md-6">
89
+ <%= f.text_field :address02,:placeholder =>"住所 ",:id => "address_street",:class =>"p-street-address p-extended-address form-control" %>
90
+
91
+
92
+ </div>
93
+ </div>
94
+
95
+ </div>
96
+ </div>
97
+
98
+ <div class="row ">
99
+ <div class="col-md-12">
100
+
101
+ <div id="tickets">
102
+ <%= f.fields_for :tickets do |builder| %>
103
+ <%= render "ticket_fields", f: builder %>
104
+ <% end %>
105
+ <div class="links text-center">
106
+ <%= link_to_add_association "追加",f, :tickets, :class => "btn btn-info btn-lg" %>
107
+ </div>
108
+
109
+ </div>
110
+ </div>
111
+ </div>
112
+
113
+ <div class="col-md-4 col-md-offset-4 mt20">
114
+
115
+ <%= f.submit "保存" ,:id =>"eventsubmit" ,:class => "btn btn-lg btn-success btn-block" ,:disabled => "disabled" %>
116
+ </div>
117
+ <% end %>
118
+ </div>
119
+
45
120
  ```
121
+ ```ruby
122
+ ticket_fields.html.erb
123
+ cocoonのpartialの部分です。
124
+
125
+ <div class="nested-fields">
126
+ <h3>tickets</h3>
127
+
128
+
129
+ <div class="row text-center">
130
+ <div class="col-md-3">
131
+ <span class="label-title">title</span>
132
+ </div>
133
+ <div class="col-md-9">
134
+ <div class='input-group'>
135
+ <%= f.text_field :title, :class => "form-control" %
136
+ </div>
137
+ </div>
138
+ </div>
139
+
140
+
141
+ <div class="row text-center">
142
+ <div class="col-md-3">
143
+ <span class="label-title">対象者</span>
144
+ </div>
145
+
146
+ <div class="col-md-9">
147
+ <%= f.hidden_field :id %>
148
+
149
+ <% students = { '小学生' => 1, '中学生' => 2, '高校生' => 3 } %>
150
+
151
+ <% students.each do |st,i| %>
152
+ <%= f.check_box :student_type, { multiple: true , include_hidden: false }, i %>
153
+ <%= f.label :student_type, st, :value => i %>
154
+ <% end %>
155
+
156
+ </div>
157
+ </div>
158
+
159
+
160
+ <%= link_to_remove_association 'remove this', f %>
161
+ </div>
162
+ ```
163
+
164
+
46
165
  上記のようなフォームから、下記のようにDBに格納されたことは確認できました。
47
166
  student_type: "[\"1\", \"2\"]"
48
167
 
@@ -67,8 +186,6 @@
67
186
  教えてください
68
187
 
69
188
 
70
-
71
-
72
189
  ###補足情報(言語/FW/ツール等のバージョンなど)
73
190
 
74
191
  Ruby 2.3

1

form_forの頭の部分を記載しました。

2016/10/14 10:44

投稿

Yuinyan
Yuinyan

スコア312

title CHANGED
File without changes
body CHANGED
@@ -30,6 +30,18 @@
30
30
  <% end %>
31
31
 
32
32
 
33
+ <%
34
+ if @event.id.nil?
35
+ resource_info = [@group, @event]
36
+ else
37
+ resource_info = [@event]
38
+ end
39
+ %>
40
+
41
+ <%= form_for( resource_info,:html => {:multipart => true, :class => "form-horizontal h-adr"}) do |f| %>
42
+
43
+ eventはGroupの子供で、routesにshallowを使っていて、editとnewとで同様のformを使うために上記のような実装となっています。
44
+
33
45
  ```
34
46
  上記のようなフォームから、下記のようにDBに格納されたことは確認できました。
35
47
  student_type: "[\"1\", \"2\"]"