作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
编辑:我稍微更改了代码。
我知道这是一个重复的问题,但我找不到适合我的问题的问题。我想我错过了一些东西,但我无法猜测是什么。
我有一个表单可以在我的应用程序中创建一些元素,但我希望使用 :remote => true
执行该表单
在 events/edit.html.erb
中呈现的表单。该表单用于创建event_criteria_options
<%= form_for(@event_criteria_option, :remote => true) do |f| %>
...
<% end %>
这是 event_criteria_options_controller.rb
中的创建操作
def create
@event_criteria_option = EventCriteriaOption.new(params[:event_criteria_option])
respond_to do |format|
if @event_criteria_option.save
format.html { redirect_to edit_event_path(Event.find(session[:event_id]), :notice => 'Event criteria option was successfully created.') }
format.xml { render :xml => @event_criteria_option, :status => :created, :location => @event_criteria_option }
format.js
else
format.html { render :action => "new" }
format.xml { render :xml => @event_criteria_option.errors, :status => :unprocessable_entity }
format.js
end
end
end
和一个名为 create.js.erb
$('#show_event_criteria').html('<%=raw escape_javascript(render(:partial => "show_event_criteria")) %>');
rails.js
、applicationl.js
和 jquery.js
文件包含在页面中,但是当表单为提交的是 HTML 调用,而不是 AJAX。我检查了 HTML 代码,表单中存在 data-remote="true"
。我在应用程序中使用 :remote => true
提交了其他表单,并且它们运行良好。我正在使用 Rails 3.0.1 和 Ruby 1.8.7
最佳答案
我相信您的 javascript 应该位于 update.js.erb
中,因为这是您的表单将发布到的操作?
更新:
您还需要在更新方法中检测是否是 ajax 调用,以便 Controller 正确处理所有内容:
if request.xhr?
# respond to Ajax request
else
# respond to normal request
end
关于jquery - :remote=>true not doing AJAX call,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20994966/
我是一名优秀的程序员,十分优秀!