diff options
author | Andrey Nering <andrey.nering@gmail.com> | 2015-02-16 14:22:08 -0200 |
---|---|---|
committer | Andrey Nering <andrey.nering@gmail.com> | 2015-02-16 14:22:26 -0200 |
commit | f8114617bade2062bf7308452921da8df548ee78 (patch) | |
tree | b7d8fef000b2c1416de17fe3a93f1c519080e62b | |
parent | 7b75551a1a4539876f878f37a2439cd02f89d961 (diff) | |
download | rails-f8114617bade2062bf7308452921da8df548ee78.tar.gz rails-f8114617bade2062bf7308452921da8df548ee78.tar.bz2 rails-f8114617bade2062bf7308452921da8df548ee78.zip |
Improving remote forms guides [ci skip]
-rw-r--r-- | guides/source/working_with_javascript_in_rails.md | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/guides/source/working_with_javascript_in_rails.md b/guides/source/working_with_javascript_in_rails.md index f3d3a83afc..e3856a285a 100644 --- a/guides/source/working_with_javascript_in_rails.md +++ b/guides/source/working_with_javascript_in_rails.md @@ -191,6 +191,34 @@ $(document).ready -> Obviously, you'll want to be a bit more sophisticated than that, but it's a start. You can see more about the events [in the jquery-ujs wiki](https://github.com/rails/jquery-ujs/wiki/ajax). +Another possibility is returning javascript directly from the server side on +remote calls: + +```ruby +# articles_controller +def create + respond_to do |format| + if @article.save + format.html { ... } + format.js do + render js: <<-endjs + alert('Article saved successfully!'); + window.location = '#{article_path(@article)}'; + endjs + end + else + format.html { ... } + format.js do + render js: "alert('There are empty fields in the form!');" + end + end + end +end +``` + +NOTE: If javascript is disabled in the user browser, `format.html { ... }` +block should be executed as fallback. + ### form_tag [`form_tag`](http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-form_tag) |