我不确定这是否可行,但我想在用户自动登录页面时向用户显示一条Flash消息。我有点玩弄它但没有运气。有没有人知道如何做到这一点,如果有任何帮助将不胜感激!
控制器代码
class BookinController < ApplicationController
def flash
flash.now[:notice] = "Test"
render :action => :new
end
def bookin
@alert = "Successfully saved!"
end
def bookout
@customer_list = Customer.all
@customer_name = params[:customer_name_in]
@r = Customer.find_by_last(@customer_name)
end
end
视图代码
<h2>The Maintenance Functions are restricted to authorized users.
Please login below</h2>
<%= form_tag(bookin_bookout_path, :method => "post") do %>
<div class="field">
Name
<%= text_field_tag :customer_name_in %>
</div>
<br>
Password
<%= text_field_tag :customer_name_in %>
</div>
<br>
<div class="actions">
<br>
<%= submit_tag "Submit Customer Name" %>
</div>
<% end %>
<h2> <a href="http://localhost:3000/foodin/foodout">Main Menu</a></td> </h2>
答案 0 :(得分:0)
您可以尝试使用bootbox-rails gem。
简而言之:
将其添加到您的Gemfile中,
将其添加到您的app / assets / javascripts / applications.js
在您的视图中添加以下内容:
<script>
<%= raw @alerts %>
</script>
在你的控制器中放置这样的东西:
@alerts = "bootbox.alert('Some kind of alert!');"
答案 1 :(得分:0)
<强>闪存强>
您需要在操作中设置flash message,因此当用户点击页面时它就在那里
Flash基本上是一个session variable
,只会在每个操作中保留,这意味着如果您在操作中设置它,则下一个不会有相同的消息
您可以按照以下方式设置闪光灯:
def action
flash[:notice] = "Welcome to our website"
end
<强>代码强>
在查询RSB
时,您没有向我们提供最具体的代码。相反,我将向您展示一个简单的示例,并留意一些评论,以便更新:
#app/controllers/bookin_controller.rb
class BookinController < ApplicationController
def index
flash[:notice] = "Welcome To Our Page!"
end
end
#app/views/bookin/index.html.erb
<%= flash[:notice] %>
这将显示呈现的操作的消息。您不需要任何特定方法 - 只需在要渲染的操作中设置flash
var值