- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我试图通过仅使用 JavaScript 让 Rails Flash 通知出现在我的应用程序中。我有一个表单,它利用 remote: true
在提交时向 Controller 发出 AJAX 请求。表单如下所示:
# app/views/_email_register.html.erb
<%= simple_form_for :email, url: emails_path, remote: true do |f| %>
<div class="modal-body">
<div class="form-group">
<%= f.input :address, as: :email, placeholder: 'user@domain.com', label: false %>
</div>
</div>
<div class="modal-footer">
<%= f.submit 'Subscribe', class: 'btn btn-primary btn-block' %>
</div>
<% end %>
rails 应用程序是使用 rails-composer 生成的,它还安装了 bootstrap css。
# app/controllers/emails_controller.rb
def create
@email = Email.new(email_params)
respond_to do |format|
if @email.save
format.html { redirect_to :back, notice: 'Email was successfully registerd' }
format.js
else
format.html { render :new }
format.js
end
end
end
然后 Controller 调用 create.js.erb
作为 respond_to block 的一部分。
# app/views/emails/create.js.erb
// flash to user it was successful
$(".alert").html("Email was successfully registered");
_messages.html.erb
部分是从 rails-composer 自动生成的。不确定是否可以从 JavaScript 调用此部分
# app/views/layouts/_messages.html.erb
<% flash.each do |name, msg| %>
<% if msg.is_a?(String) %>
<div class="alert alert-<%= name.to_s == 'notice' ? 'success' : 'danger' %>">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<%= content_tag :div, msg, :id => "flash_#{name}" %>
</div>
<% end %>
<% end %>
如能提供有关如何通过 JavaScript 显示 Flash 通知的任何帮助,我们将不胜感激。
最佳答案
您只需要重新渲染在您的 js.erb 中呈现 flash 消息的部分
# app/views/emails/create.js.erb
$('.flash_wrapper').html("<%= escape_javascript(render 'layouts/messages') %>");
在你的 Controller 中设置闪光灯
format.js { flash.now[:notice] = 'Email was successfully registered' }
这会让你看到闪光灯
注意:.flash_wrapper
是您渲染 _message
部分的包装器。
关于javascript - 使用 [action].js.erb 在 Rails 中调用 Flash Notice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38898796/
我正在运行PHP脚本,并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php o
我正在运行PHP脚本,并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php o
我正在运行PHP脚本,并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php o
我正在运行PHP脚本,并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php o
我正在运行PHP脚本,并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php o
我正在运行PHP脚本,并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php o
我正在运行PHP脚本,并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php o
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我是一名优秀的程序员,十分优秀!