我有一个模型叫adventurer
. 我可以使用远程表单创建一个:
<%= simple_form_for @adventurer, validate: true, remote: true, do |adventurer| %>
# ...
我的create
动作是这样的:
def create
@adventurer = Adventurer.new(safe_params)
@adventurer.save
respond_to do |format|
format.js
end
end
我想在 JS 而不是控制器中处理成功和失败的结果。
<% if @applicant.errors.any? %>
console.log('It failed :(');
<% else %>
console.log('Success!');
<% end %>
知道上面的示例有效,我想对其进行修改,以便它可以处理错误消息。
以下导致控制台中出现错误SyntaxError: Unexpected token '&'. Expected a property name.
:
<% if @adventurer.errors.any? %>
errors = <%= @adventurer.errors.to_json %>
console.log(errors[:full_messages]);
<% else %>
console.log('Success!');
<% end %>
这让我相信我没有以正确的方式将 Ruby 集合传递给 JS。如何使#errors.full_messages
我的 JS 模板可用?