Rails 5 how to handle response to show flash success/error messages, if form submitted with remote true?
- Rails 5 how to handle response to show flash success/error messages,
if form submitted with remote true?
ruby-on-rails
add a comment |
- Rails 5 how to handle response to show flash success/error messages,
if form submitted with remote true?
ruby-on-rails
add a comment |
- Rails 5 how to handle response to show flash success/error messages,
if form submitted with remote true?
ruby-on-rails
- Rails 5 how to handle response to show flash success/error messages,
if form submitted with remote true?
ruby-on-rails
ruby-on-rails
asked Nov 12 '18 at 11:44
Nishi Kant Sharma
104
104
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
add a partial in your view, I would recommend create a views/shared folder
app/views/shared/_flash.html.erb
<div id="flash-messages">
<% flash.each do |message_type, message| %>
<div class="alert text-center alert-<%= flash_class_name(message_type) %> alert-dismissable mb-0">
<span><%= message %></span>
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<% end %>
</div>
add this line to your layout file (in body)
app/views/application.html.erb
<%= render 'shared/flash' %>
now in related action view file
app/views/[controller]/[create/update].js.erb
$('#flash-messages').html("<%= j render 'shared/flash' %>");
and your controller action add flash like this
flash.now[:notice] = 'Request was saved successfully.'
add a comment |
Remote true causes rails to submit the form with ajax, so you can handle the request on the frontend
$(document).ready(() =>
function showFlash(message, color) {
// Handle finding your flash
// clear it, set color and message
}
$("#your_selector").on("ajax:success", function(event) {
const [data, status, xhr] = Array.from(event.detail);
showFlash(xhr.responseText, 'green');
}).on("ajax:error", function(event) {
showFlash('Sorry there was an error', 'green')
})
);
With the above you can get a lot more fancy but should at least give you the bones to work with.
https://guides.rubyonrails.org/working_with_javascript_in_rails.html
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53261468%2frails-5-how-to-handle-response-to-show-flash-success-error-messages-if-form-sub%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
add a partial in your view, I would recommend create a views/shared folder
app/views/shared/_flash.html.erb
<div id="flash-messages">
<% flash.each do |message_type, message| %>
<div class="alert text-center alert-<%= flash_class_name(message_type) %> alert-dismissable mb-0">
<span><%= message %></span>
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<% end %>
</div>
add this line to your layout file (in body)
app/views/application.html.erb
<%= render 'shared/flash' %>
now in related action view file
app/views/[controller]/[create/update].js.erb
$('#flash-messages').html("<%= j render 'shared/flash' %>");
and your controller action add flash like this
flash.now[:notice] = 'Request was saved successfully.'
add a comment |
add a partial in your view, I would recommend create a views/shared folder
app/views/shared/_flash.html.erb
<div id="flash-messages">
<% flash.each do |message_type, message| %>
<div class="alert text-center alert-<%= flash_class_name(message_type) %> alert-dismissable mb-0">
<span><%= message %></span>
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<% end %>
</div>
add this line to your layout file (in body)
app/views/application.html.erb
<%= render 'shared/flash' %>
now in related action view file
app/views/[controller]/[create/update].js.erb
$('#flash-messages').html("<%= j render 'shared/flash' %>");
and your controller action add flash like this
flash.now[:notice] = 'Request was saved successfully.'
add a comment |
add a partial in your view, I would recommend create a views/shared folder
app/views/shared/_flash.html.erb
<div id="flash-messages">
<% flash.each do |message_type, message| %>
<div class="alert text-center alert-<%= flash_class_name(message_type) %> alert-dismissable mb-0">
<span><%= message %></span>
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<% end %>
</div>
add this line to your layout file (in body)
app/views/application.html.erb
<%= render 'shared/flash' %>
now in related action view file
app/views/[controller]/[create/update].js.erb
$('#flash-messages').html("<%= j render 'shared/flash' %>");
and your controller action add flash like this
flash.now[:notice] = 'Request was saved successfully.'
add a partial in your view, I would recommend create a views/shared folder
app/views/shared/_flash.html.erb
<div id="flash-messages">
<% flash.each do |message_type, message| %>
<div class="alert text-center alert-<%= flash_class_name(message_type) %> alert-dismissable mb-0">
<span><%= message %></span>
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<% end %>
</div>
add this line to your layout file (in body)
app/views/application.html.erb
<%= render 'shared/flash' %>
now in related action view file
app/views/[controller]/[create/update].js.erb
$('#flash-messages').html("<%= j render 'shared/flash' %>");
and your controller action add flash like this
flash.now[:notice] = 'Request was saved successfully.'
answered Nov 12 '18 at 12:28
Sikandar Tariq
415414
415414
add a comment |
add a comment |
Remote true causes rails to submit the form with ajax, so you can handle the request on the frontend
$(document).ready(() =>
function showFlash(message, color) {
// Handle finding your flash
// clear it, set color and message
}
$("#your_selector").on("ajax:success", function(event) {
const [data, status, xhr] = Array.from(event.detail);
showFlash(xhr.responseText, 'green');
}).on("ajax:error", function(event) {
showFlash('Sorry there was an error', 'green')
})
);
With the above you can get a lot more fancy but should at least give you the bones to work with.
https://guides.rubyonrails.org/working_with_javascript_in_rails.html
add a comment |
Remote true causes rails to submit the form with ajax, so you can handle the request on the frontend
$(document).ready(() =>
function showFlash(message, color) {
// Handle finding your flash
// clear it, set color and message
}
$("#your_selector").on("ajax:success", function(event) {
const [data, status, xhr] = Array.from(event.detail);
showFlash(xhr.responseText, 'green');
}).on("ajax:error", function(event) {
showFlash('Sorry there was an error', 'green')
})
);
With the above you can get a lot more fancy but should at least give you the bones to work with.
https://guides.rubyonrails.org/working_with_javascript_in_rails.html
add a comment |
Remote true causes rails to submit the form with ajax, so you can handle the request on the frontend
$(document).ready(() =>
function showFlash(message, color) {
// Handle finding your flash
// clear it, set color and message
}
$("#your_selector").on("ajax:success", function(event) {
const [data, status, xhr] = Array.from(event.detail);
showFlash(xhr.responseText, 'green');
}).on("ajax:error", function(event) {
showFlash('Sorry there was an error', 'green')
})
);
With the above you can get a lot more fancy but should at least give you the bones to work with.
https://guides.rubyonrails.org/working_with_javascript_in_rails.html
Remote true causes rails to submit the form with ajax, so you can handle the request on the frontend
$(document).ready(() =>
function showFlash(message, color) {
// Handle finding your flash
// clear it, set color and message
}
$("#your_selector").on("ajax:success", function(event) {
const [data, status, xhr] = Array.from(event.detail);
showFlash(xhr.responseText, 'green');
}).on("ajax:error", function(event) {
showFlash('Sorry there was an error', 'green')
})
);
With the above you can get a lot more fancy but should at least give you the bones to work with.
https://guides.rubyonrails.org/working_with_javascript_in_rails.html
answered Nov 12 '18 at 12:31
Austio
4,5171228
4,5171228
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53261468%2frails-5-how-to-handle-response-to-show-flash-success-error-messages-if-form-sub%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown