Skip to content

Commit 3eb5011

Browse files
authored
Merge pull request #42 from joseramonc/form-with
add form_with support #41
2 parents d71739b + c133e85 commit 3eb5011

File tree

2 files changed

+128
-83
lines changed

2 files changed

+128
-83
lines changed

snippets/views_html_erb.cson

Lines changed: 67 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@
203203
'body': '<%= I18n.l(${1:${2:DateTime.now}, format: ${3:short}}}) %>$0'
204204

205205
##########################
206-
# Form and inputs
206+
# form_for and f.inputs (Pre rails 5.1 and f)
207207
##########################
208208
'form_for':
209209
'prefix': 'form_for'
@@ -228,35 +228,35 @@
228228
<% end %>
229229
"""
230230

231-
'label_field':
231+
'f_label_field':
232232
'prefix': 'fl'
233233
'body': '<%= f.label :${1:field}${2:, class: "${3:control-label}"} %>$0'
234234

235-
'text_field':
235+
'f_text_field':
236236
'prefix': 'ftf'
237237
'body': '<%= f.text_field :${1:field}${2:, class: "${3:form-control}"} %>'
238238

239-
'password_field':
239+
'f_password_field':
240240
'prefix': 'fpf'
241241
'body': '<%= f.password_field :${1:field}${2:, class: "${3:form-control}"} %>'
242242

243-
'email_field':
243+
'f_email_field':
244244
'prefix': 'fes'
245245
'body': '<%= f.email_field :${1:field}${2:, class: "${3:form-control}"} %>'
246246

247-
'hidden_field':
247+
'f_hidden_field':
248248
'prefix': 'fhf'
249249
'body': '<%= f.hidden_field :${1:field}, value: "${2:true}" %>'
250250

251-
'number_field':
251+
'f_number_field':
252252
'prefix': 'fnf'
253253
'body': '<%= f.number_field :${1:field}${2:, class: "${3:form-control}"}, step: "0.01" %>'
254254

255-
'text_area':
255+
'f_text_area':
256256
'prefix': 'fta'
257257
'body': '<%= f.text_area :${1:field}${2:, class: "${3:form-control}"} %>'
258258

259-
'collection_select':
259+
'f_collection_select':
260260
'prefix': 'fcs'
261261
'body': """
262262
<%= f.collection_select(
@@ -269,7 +269,7 @@
269269
) %>
270270
"""
271271

272-
'select_field':
272+
'f_select_field':
273273
'prefix': 'fsf'
274274
'body': """
275275
<%= f.select(
@@ -285,7 +285,7 @@
285285
) %>$0
286286
"""
287287

288-
'select_enum_field':
288+
'f_select_enum_field':
289289
'prefix': 'fef'
290290
'body': """
291291
<%= f.select(
@@ -301,50 +301,74 @@
301301
) %>$0
302302
"""
303303

304-
'select_tag':
305-
'prefix': 'st'
304+
'f_checkbox':
305+
'prefix': 'fcb'
306+
'body': '<%= f.check_box :${1:method}, ${2:options}, ${3:true}, ${4:false} %>'
307+
308+
'f_file_field':
309+
'prefix': 'fff'
310+
'body': '<%= f.file_field :${1:file}, accept: "${2:video/mp4}", class: "form-control" %>'
311+
312+
'f_submit_field':
313+
'prefix': 'fs'
314+
'body': '<%= f.submit "${1:Save / Update}"${2:, class: "${3:btn btn-primary"}} %>$0'
315+
316+
'f_input':
317+
'prefix': 'f.'
318+
'body': '<%= f.${1:text}_field :${2:field}${3:, class: "${4:form-control}"} %>$0'
319+
320+
##########################
321+
# form_with and form.inputs
322+
##########################
323+
'form_with':
324+
'prefix': 'form_with'
306325
'body': """
307-
<%= select_tag(
308-
:${1:color_id},
309-
options_from_collection_for_select(
310-
@${2:colors},
311-
:${3:id},
312-
:${4:name},
313-
params[:${1:color_id}]
314-
),
315-
{ ${5:include_blank: "${6:Please select one}"} },
316-
{ ${7:class: "${8:form-control}"} }
317-
) %> $0
326+
<%= form_with model: ${1} do |form| %>
327+
${2:<%= render "shared/errors", object: ${1} %>}
328+
${0}
329+
<% end %>
318330
"""
319331

320-
'options_from_collection_for_select':
332+
'form_label_field':
333+
'prefix': 'forml'
334+
'body': '<%= form.label :${1:field}${2:, class: "${3:control-label}"} %>$0'
335+
336+
'form_text_field':
337+
'prefix': 'formtf'
338+
'body': '<%= form.text_field :${1:field}${2:, class: "${3:form-control}"} %>'
339+
340+
'form_hidden_field':
341+
'prefix': 'formhf'
342+
'body': '<%= form.hidden_field :${1:field}, value: "${2:true}" %>'
343+
344+
'form_number_field':
345+
'prefix': 'formnf'
346+
'body': '<%= form.number_field :${1:field}${2:, class: "${3:form-control}"}, step: "0.01" %>'
347+
348+
'form_file_field':
349+
'prefix': 'formff'
350+
'body': '<%= form.file_field :${1:file}, accept: "${2:video/mp4}", class: "form-control" %>'
351+
352+
'form_submit_field':
353+
'prefix': 'forms'
354+
'body': '<%= form.submit "${1:Save / Update}"${2:, class: "${3:btn btn-primary"}} %>$0'
355+
356+
##########################
357+
# form utilities
358+
##########################
359+
360+
'form_options_from_collection_for_select':
321361
'prefix': 'ofcfs'
322362
'description': 'options_from_collection_for_select(collection, value_method, text_method, selected = nil)'
323363
'descriptionMoreUrl': 'http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-options_from_collection_for_select'
324-
'body': 'options_from_collection_for_select(@${1:products}, :${2:id}, :${3:name}, ${4:f.object.${5:product_id}})$0'
364+
'body': 'options_from_collection_for_select(@${1:products}, :${2:id}, :${3:name}, ${4:form.object.${5:product_id}})$0'
325365

326-
'options_for_select':
366+
'form_options_for_select':
327367
'prefix': 'ofs'
328368
'description': 'options_for_select(container, selected = nil)'
329369
'descriptionMoreUrl': 'http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-options_for_select'
330370
'body': 'options_for_select'
331371

332-
'checkbox':
333-
'prefix': 'fcb'
334-
'body': '<%= f.check_box :${1:method}, ${2:options}, ${3:true}, ${4:false} %>'
335-
336-
'file_field':
337-
'prefix': 'fff'
338-
'body': '<%= f.file_field :${1:file}, accept: "${2:video/mp4}", class: "form-control" %>'
339-
340-
'submit_field':
341-
'prefix': 'fs'
342-
'body': '<%= f.submit "${1:Save / Update}"${2:, class: "${3:btn btn-primary"}} %>$0'
343-
344372
'submit_tag':
345373
'prefix': 'sut'
346374
'body': '<%= submit_tag "${1:Search!}"${2:, class: "${4:btn btn-${3:primary}}"} %>$0'
347-
348-
'input':
349-
'prefix': 'f.'
350-
'body': '<%= f.${1:text}_field :${2:field}${3:, class: "${4:form-control}"} %>$0'

snippets/views_html_haml.cson

Lines changed: 61 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@
171171
'current_user':
172172
'prefix': 'cur'
173173
'description': 'current_user'
174-
'body': '<%= current_user$0 %>'
174+
'body': '= current_user$0'
175175

176176
'link_to fa_icon("icon", text: "text"), url':
177177
'prefix': 'ltf'
@@ -200,7 +200,7 @@
200200
'body': '= I18n.l(${1:${2:DateTime.now}, format: ${3:short}}})$0'
201201

202202
##########################
203-
# Form and inputs
203+
# form_for and f.inputs (Pre rails 5.1 and f)
204204
##########################
205205
'form_for':
206206
'prefix': 'form_for'
@@ -209,6 +209,7 @@
209209
${2:= render "shared/errors", object: ${1}}
210210
${3:= f.text_field :${4:field}}
211211
${0}
212+
end
212213
"""
213214

214215
'form_tag':
@@ -219,38 +220,40 @@
219220
:${4:search},
220221
params[:${4:search}],
221222
placeholder: "Search",
222-
class: "form-control")
223+
class: "form-control"
224+
)
225+
end
223226
"""
224227

225-
'label_field':
228+
'f_label_field':
226229
'prefix': 'fl'
227230
'body': '= f.label :${1:field}${2:, class: "${3:control-label}"}$0'
228231

229-
'text_field':
232+
'f_text_field':
230233
'prefix': 'ftf'
231234
'body': '= f.text_field :${1:field}${2:, class: "${3:form-control}"}'
232235

233-
'password_field':
236+
'f_password_field':
234237
'prefix': 'fpf'
235238
'body': '= f.password_field :${1:field}${2:, class: "${3:form-control}"}'
236239

237-
'email_field':
240+
'f_email_field':
238241
'prefix': 'fes'
239242
'body': '= f.email_field :${1:field}${2:, class: "${3:form-control}"}'
240243

241-
'hidden_field':
244+
'f_hidden_field':
242245
'prefix': 'fhf'
243246
'body': '= f.hidden_field :${1:field}, value: "${2:true}"'
244247

245-
'number_field':
248+
'f_number_field':
246249
'prefix': 'fnf'
247250
'body': '= f.number_field :${1:field}${2:, class: "${3:form-control}"}, step: "0.01"'
248251

249-
'text_area':
252+
'f_text_area':
250253
'prefix': 'fta'
251254
'body': '= f.text_area :${1:field}${2:, class: "${3:form-control}"}'
252255

253-
'collection_select':
256+
'f_collection_select':
254257
'prefix': 'fcs'
255258
'body': """
256259
= f.collection_select(
@@ -259,10 +262,11 @@
259262
:${3:id},
260263
:${4:name},
261264
{ ${5:include_blank: "${6:Please select one}"} },
262-
{ ${7:class: "${8:form-control}"} })
265+
{ ${7:class: "${8:form-control}"} }
266+
)
263267
"""
264268

265-
'select_field':
269+
'f_select_field':
266270
'prefix': 'fsf'
267271
'body': """
268272
= f.select(
@@ -274,10 +278,11 @@
274278
f.object.${1:resource_id}
275279
),
276280
{ ${5:include_blank: "${6:Please select one}"} },
277-
{ ${7:class: "${8:form-control}"} })$0
281+
{ ${7:class: "${8:form-control}"} }
282+
)$0
278283
"""
279284

280-
'select_enum_field':
285+
'f_select_enum_field':
281286
'prefix': 'fef'
282287
'body': """
283288
= f.select(
@@ -289,41 +294,57 @@
289294
]
290295
},
291296
{ },
292-
{ })$0
297+
{ }
298+
)$0
293299
"""
294300

295-
'select_tag':
296-
'prefix': 'st'
297-
'body': """
298-
= select_tag(
299-
:${1:color_id},
300-
options_from_collection_for_select(
301-
@${2:colors},
302-
:${3:id},
303-
:${4:name},
304-
params[:${1:color_id}]
305-
),
306-
{ ${5:include_blank: "${6:Please select one}"} },
307-
{ ${7:class: "${8:form-control}"} }
308-
) $0
309-
"""
310-
311-
'checkbox':
301+
'f_checkbox':
312302
'prefix': 'fcb'
313303
'body': '= f.check_box :${1:method}, ${2:options}, ${3:true}, ${4:false}'
314304

315-
'file_field':
305+
'f_file_field':
316306
'prefix': 'fff'
317307
'body': '= f.file_field :${1:file}, accept: "${2:video/mp4}", class: "form-control"'
318308

319-
'submit_field':
309+
'f_submit_field':
320310
'prefix': 'fs'
321311
'body': '= f.submit "${1:Save / Update}"${2:, class: "${3:btn btn-primary"}}$0'
322312

323-
'submit_tag':
324-
'prefix': 'sut'
325-
'body': '= submit_tag "${1:Search!}"${2:, class: "${4:btn btn-${3:primary}}"}$0'
326-
327-
'input':
313+
'f_input':
328314
'prefix': 'f.'
329315
'body': '= f.${1:text}_field :${2:field}${3:, class: "${4:form-control}"}$0'
316+
317+
##########################
318+
# form_with and form.inputs
319+
##########################
320+
'form_with':
321+
'prefix': 'form_with'
322+
'body': """
323+
= form_with model: ${1} do |form|
324+
${2:= render "shared/errors", object: ${1}}
325+
${0}
326+
"""
327+
328+
'form_label_field':
329+
'prefix': 'forml'
330+
'body': '= form.label :${1:field}${2:, class: "${3:control-label}"}$0'
331+
332+
'form_text_field':
333+
'prefix': 'formtf'
334+
'body': '= form.text_field :${1:field}${2:, class: "${3:form-control}"}'
335+
336+
'form_hidden_field':
337+
'prefix': 'formhf'
338+
'body': '= form.hidden_field :${1:field}, value: "${2:true}"'
339+
340+
'form_number_field':
341+
'prefix': 'formnf'
342+
'body': '= form.number_field :${1:field}${2:, class: "${3:form-control}"}, step: "0.01"'
343+
344+
'form_file_field':
345+
'prefix': 'formff'
346+
'body': '= form.file_field :${1:file}, accept: "${2:video/mp4}", class: "form-control"'
347+
348+
'form_submit_field':
349+
'prefix': 'forms'
350+
'body': '= form.submit "${1:Save / Update}"${2:, class: "${3:btn btn-primary"}}$0'

0 commit comments

Comments
 (0)