我有一个使用Simple Forms和remote =>的表单。用户仪表板上的true(由仪表板视图和仪表板控制器处理)。该表单允许用户添加自定义游戏规则;但是,它通过Jquery的.load()函数加载表单。表单从“规则”视图加载(由规则控制器处理)。
当用户点击提交按钮时,我没有收到任何错误验证。
她是规则控制器上的创建操作:
def create
@rule = Rule.new(params[:rule])
respond_to do |format|
if @rule.save
format.html { redirect_to dashboard_path, notice: 'Rule was successfully created.' }
format.json { render json: @rule, status: :created, location: @rule }
format.js
else
format.html { render template: 'dashboard/index'}
format.json { render json: @rule.errors, status: :unprocessable_entity }
format.js
end
end
end
我的视图文件夹中有一个名为create.js.erb的js文件,该文件当前为空。我想我必须以某种方式解析这个create.js.erb文件中的JSON错误数据,但我不知道该怎么做。
此外,Dashboard视图/控制器调用此表单是否重要,但表单是由规则控制器处理的?
答案 0 :(得分:4)
在create.js.erb
中尝试以下操作$('.error-messages').remove();
<% if @rule.errors.any? %>
$('body').append('<ul class="error-messages"></ul>');
<% @rule.errors.full_messages.each do |msg| %>
$('.error-messages').append('<%= escape_javascript msg %>');
<% end %>
<% end %>
这会将错误附加到您的正文标记中。