Mil*_*uzz 5 ajax ruby-on-rails ruby-on-rails-3
我正在使用以下表格:
<%= form_for(@document, :remote => true) do |f| %>
<%= f.label :asset, "Document to Upload" %><br />
<%= f.file_field :asset, :class => "behaves", "data-behave" => "passValueOnChange", "data-recipient" => "#campaign_document_name" %>
<%= f.label :name, :class => 'required' %><br />
<%= f.text_field :name, :required => true %>
<%= f.submit "Upload Document", :class => "button" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
提交给以下控制器:
def create
@document = CampaignDocument.new(params[:campaign_document])
@campaign.documents << @document
respond_to do |format|
format.js
end
end
Run Code Online (Sandbox Code Playgroud)
它应该返回以下内容create.js.erb
:
<%= remotipart_response do %>
<% unless @document.errors.any? %>
$('.tablewrapper').html( '<%= escape_javascript(render :partial=>'documents_table') %>' );
alertify.success("File Updloaded");
<% else %>
<% @document.errors.each do |attr, msg|%>
alertify.error("<%= msg %>",10000);
<% end %>
<% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
但响应被包装在textare
标签中。这很奇怪:
<textarea data-type="text/javascript" response-code="200">
$('.tablewrapper').html('{code for HTML ommited for brevity}');
alertify.success("File Updloaded");
</textarea>
Run Code Online (Sandbox Code Playgroud)
注意 同一安装上的其他类似风格的 AJAX 功能不会以这种方式运行。
小智 0
这个错误是由于 gem“remotipart”而发生的。该分支未与 jangosteve/remotipart master 合并。您可以通过更新来修复它Gemfile
:
gem 'remotipart', :git => 'https://github.com/westonganger/remotipart', :branch => 'fix_escape_javascript'
Run Code Online (Sandbox Code Playgroud)
您可以在此处获取此问题的参考: https: //github.com/nathanvda/cocoon/issues/473 https://github.com/formasfunction/remotipart/blob/master/lib/remotipart/view_helper.rb#L7
归档时间: |
|
查看次数: |
1332 次 |
最近记录: |