1
我有一个Rails应用程序,我运行rails g scaffold friends name
。在我的朋友模型,我把这个:
class Friend < ActiveRecord::Base
validates_presence_of :name
end
,这是我的新和里面创建FriendsController行动:
def new
@friend = Friend.new
end
...
def create
@friend = Friend.new(friend_params)
respond_to do |format|
if @friend.save
format.html { redirect_to @friend, notice: 'Friend was successfully created.' }
format.json { render :show, status: :created, location: @friend }
else
format.html { render :new }
format.json { render json: @friend.errors, status: :unprocessable_entity }
end
end
end
,这是我形式部分朋友们:
<%= form_for(@friend) do |f| %>
<% if @friend.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@friend.errors.count, "error") %> prohibited this friend from being saved:</h2>
<ul>
<% @friend.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
<script type="text/javascript">
$(function(){
console.log("Hello world!");
});
</script>
正如你所看到的,我在我的表单底部显示了jQuery $(document).ready()
,当我加载表单时,它的日志为Hello world!
。
当我提交没有名称的表单时,它会再次渲染新模板,但不会调用该jQuery $(document).ready()
。
演示:
如何触发内jQuery的$(document).ready()
再次呈现新的验证时(一个或多个)失败的部分?
为什么发生这种情况?
你使用'turbolinks'概念吗? – Jenorish