0

我正在使用 ruby​​ 1.8.7 和 rails 2.3.11。我有一个简单的表单,我想在 create.js.erb 中添加一些 ajax:

alert('call from ajax');

在我的控制器中,我更改了创建操作:

def create
  @weburl = Weburl.new(params[:weburl])

  respond_to do |format|
    if @weburl.save
      format.js
      format.html { redirect_to(@weburl, :notice => 'Weburl was successfully created.') }
    else
      format.html { render :action => "new" }
      format.xml  { render :xml => @weburl.errors, :status => :unprocessable_entity }
    end
  end
end

我的表格部分

<% form_remote_for(weburl) do |f| %>
  <%= f.error_messages %>

  <p>
    <%= f.label :url %><br />
    <%= f.text_field :url %>
  </p>
  <p>
   <%= f.submit 'Save' %>
  </p>
<% end %>

我的 new.html.erb 文件是

<h1>New weburl</h1>
<%= render :partial => 'form', :locals=>{:weburl=>@weburl}%>
<%= link_to 'Back', weburls_path %>

当我提交表单时,它会显示在浏览器上:

alert('call from ajax');

而不是 javascript 弹出警报消息。

4

1 回答 1

0

请提供更多代码。问题是,您的 javascript 代码没有在客户端执行。如果可能,将响应放入 eval() 中。看看这个w3schools 教程

于 2013-01-16T18:46:05.930 回答