【发布时间】:2017-01-18 03:25:56
【问题描述】:
编辑:我稍微更改了代码。
我知道这是一个重复的问题,但我找不到适合我的问题的问题。我想我错过了什么,但我猜不出是什么。
我有一个表单可以在我的应用程序中创建一些元素,但我希望使用 :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的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
【问题讨论】:
-
我的 create 方法也有同样的问题。我只想回复
js而不是html,所以我收到 UnknownFormat 错误(Rails 4),原因与您遇到问题的原因相同:即使我的表单也是通过 html 请求的有data-remote="true"。自从你上次看到这个后,你运气好吗? -
@JakeSmith 不,我正在完成更紧急的任务。如果我设法解决问题,我会放在这里:)
标签: jquery ruby-on-rails ajax