此脚手架生成的代码最终会打印两次相同的消息,而我无法停止它。
def update
respond_to do |format|
if @indi.update(indi_params)
puts("message about to be shown to us by the system")
format.html { redirect_to @indi, notice: 'Indi was successfully updated.' }
format.json { render :show, status: :ok, location: @indi }
else
format.html { render :edit }
format.json { render json: @indi.errors, status: :unprocessable_entity }
end
end
end
它在网页中两次打印成功消息。
答案 0 :(得分:1)
要结束的问题:
问题在布局和视图中都处于双重渲染状态。他有:
<body>
<% if notice %>
<p class="alert alert-success"><%= notice %></p>
<% end %>
<% if alert %>
<p class="alert alert-danger"><%= alert %></p>
<% end %>
<%= yield %>
</body>
并位于show.html.erb
顶部:
<p id="notice"><%= notice %></p>
这导致notice
的两次显示。解决的方法是简单地从show.html.erb
中删除并进行布局。布局使此类代码得以重复使用