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ポップアップアラートメッセージの代わりに。