我正在将表单重构为 AJAX 发布请求。
这是现有的表格:
<%= form_for([@group, @invitation], :remote => true, :html => { :'data-type' => 'html', :class => 'fbinvite_form', :id => friend[:identifier]}) do |f| %>
<%= f.hidden_field :recipient_email, :value => "facebook@meetcody.com" %>
<div class = "fbinvite btn_list_right" id = "<%= friend[:identifier] %>">
<%= f.submit "Invite", :class => "btn btn-medium btn-primary", :name => "fb" %>
</div>
<% end %>
在控制器中,我有检查提交输入名称的逻辑:
if params[:fb]
...
elsif params[:somethingelse]
...
end
这就是背景。我现在正在尝试用以下 ajax 替换上面的表单(添加了虚拟数据以使其更清晰):
$.post('/groups/7/invitations', {
"recipient_email": "facebook@meetcody.com",
"commit" : "fb",
"fb" : "fb"
}, function(response) {
alert("invite created!");
});
这成功地击中了控制器,但在条件上不评估为真if params[:fb]
。如您所见,我尝试了一些非常基本的方法来传递该参数,但它显然不起作用。
如何更改我的 ajax 请求以便params[:fb]
评估为true
?