mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 23:28:02 +00:00
Add Attach A File With Capybara as a rails til
This commit is contained in:
@@ -7,7 +7,7 @@ variety of languages and technologies. These are things that don't really
|
|||||||
warrant a full blog post. These are mostly things I learn by pairing with
|
warrant a full blog post. These are mostly things I learn by pairing with
|
||||||
smart people at [Hashrocket](http://hashrocket.com/).
|
smart people at [Hashrocket](http://hashrocket.com/).
|
||||||
|
|
||||||
_370 TILs and counting..._
|
_371 TILs and counting..._
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -223,6 +223,7 @@ _370 TILs and counting..._
|
|||||||
### Rails
|
### Rails
|
||||||
|
|
||||||
- [All or Nothing Database Transactions](rails/all-or-nothing-database-transactions.md)
|
- [All or Nothing Database Transactions](rails/all-or-nothing-database-transactions.md)
|
||||||
|
- [Attach A File With Capybara](rails/attach-a-file-with-capybara.md)
|
||||||
- [Attribute Getter without the Recursion](rails/attribute-getter-without-the-recursion.md)
|
- [Attribute Getter without the Recursion](rails/attribute-getter-without-the-recursion.md)
|
||||||
- [Attribute Was](rails/attribute-was.md)
|
- [Attribute Was](rails/attribute-was.md)
|
||||||
- [Autosave False On ActiveRecord Associations](rails/autosave-false-on-activerecord-associations.md)
|
- [Autosave False On ActiveRecord Associations](rails/autosave-false-on-activerecord-associations.md)
|
||||||
|
|||||||
28
rails/attach-a-file-with-capybara.md
Normal file
28
rails/attach-a-file-with-capybara.md
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# Attach A File With Capybara
|
||||||
|
|
||||||
|
There are two ways to attach a file with
|
||||||
|
[Capybara](https://github.com/jnicklas/capybara). The more conventional way
|
||||||
|
is with the
|
||||||
|
[`attach_file`](http://www.rubydoc.info/github/jnicklas/capybara/Capybara%2FNode%2FActions%3Aattach_file)
|
||||||
|
method.
|
||||||
|
|
||||||
|
Assuming there is a form with a file input similar to the following:
|
||||||
|
|
||||||
|
```html
|
||||||
|
<label for='data-file'>Data File</label>
|
||||||
|
<input type='file' name='data-file' />
|
||||||
|
```
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
attach_file('data-file', 'path/to/file.csv')
|
||||||
|
```
|
||||||
|
|
||||||
|
The first argument to `attach_file` is a locator which refers to the `name`
|
||||||
|
attribute on the `input` tag.
|
||||||
|
|
||||||
|
If for some reason there is no `name` attribute on the `input` tag, the file
|
||||||
|
can be attached with a standard `find` and `set`.
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
find('form input[type="file"]').set('path/to/file.csv')
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user