まあ、RailsはフツウにAjaxにも対応してるよー。
app/assets/javascripts
<img id="logo" src="/assets/rails.png" />
<script type="text/javascript">
$('#logo').click(function () {
alert("クリック!フェードアウトするよ!")
$('#logo').fadeOut(3000);
});
</script>
<div>現在時刻:<%= Time.now %></div>
<div id="result">現在時刻:<%= Time.now%></div>
<%= link_to '更新', {:action => 'update_time'}, :remote => true %>
def update_time
@time = Time.now.to_s
end
$('#result').html(
"<%= escape_javascript(render :partial => 'ajax_result' ) %>"
);
現在時刻:<%= @time %>
<%= form_tag({ :action => 'result_book' }, { :remote => true} ) do %>
<%= select_tag('publish', options_from_collection_for_select(@books,:publish, :publish, '日経BP社') )%>
<%= submit_tag '検索'%>
<% end %>
<div id="result"></div>
def search_book
@books = Book.select('DISTINCT publish')
end
def result_book
@books = Book.where(:publish => params[:publish])
end
$('#result').html(
"<%= escape_javascript(render :partial => 'search_result' ) %>"
);
<ul> <% @books.each do |book| %> <li><%= book.title %>(ISBN:<%= book.isbn %>)</li> <% end %> </ul>
$(function() {
$('*')
.ajaxStart (function() { $('#progress').html('通信中…') } )
.ajaxComplete (function() { $('#progress').html('') } );
});
<span id="progress"></span>
<%= form_tag({ :action => 'search_yahoo' }, { :remote => true} ) do %>
<%= text_field_tag( :keyword, '', {:size => 30 })%>
<%= submit_tag '検索'%>
<span id="progress"></span>
<% end %>
<div id="result"></div>
def search_yahoo
Net::HTTP.start('search.yahooapis.jp') do |http|
response = http.get('/WebSearchService/V2/webSearch?appid=wings-project&query=' + ERB::Util.url_encode(params[:keyword]))
@body = Hash.from_xml(response.body)
end
end
$('#result').html(
"<%= escape_javascript(render :partial => 'yahoo_result' ) %>"
);
<ul> <% @body['ResultSet']['Result'].each do |result| %> <li><%= result['Title'] %>(URL:<%= result['Url'] %>)</li> <% end %> </ul>
Service unavailable.Too many users
respond_to do |format|
format.js
format.xml { render xml: response.body }
format.json { render json: Hash.from_xml(response.body).to_json }
end
match 'hello/search_yahoo(.:format)'