1

私はこのlink_to_functionを持っています

  = link_to_remote 'Populate Info From ID', :url => {:controller => 'something', 
  :action => 'populate_from_id'}, 
  :with => "'id=' + $('account_id').value + '&field_prefix=purchaser'", 
  :update => {:failure => 'account_id_error'}

私はそれらの多くをRailsアップグレードで変換しました, :remote => true, :method => :post

しかし、値を取得するためにwith条件を追加する方法がわかりません...任意のアイデア

4

2 に答える 2

1

Rails 3 の link_to ヘルパーでは、コールバックを表す AJAX 固有のオプションはすべてなくなりました。例のようなより複雑なリモート アクションを処理するには、独自の JavaScript を作成する必要があります。

ここに簡単な書き直しがあります:

# Your template

= link_to 'Populate Info From ID', :url => {:controller => 'something', 
  :action => 'populate_from_id'}, :id => "#populate_info"


# In javascript, assuming jquery and 
# an element #account_id with a data-id attribute
$("#populate_info").on("click", function() {
  $.ajax({
    method: "POST",
    data: { id: $('#account_id').data("id"), field_prefix: "purchaser" }
    error: account_id_error
  });
  return false;
});

役に立つブログ投稿: http://www.simonecarletti.com/blog/2010/06/unobtrusive-javascript-in-rails-3/ ここには多くの優れたドキュメントがあります: http://api.jquery.com/jQuery.ajax/

于 2012-09-25T01:43:20.543 に答える
0

あなたは私を打ちのめしました 私はこれを思いつきました

$('.populate_id').click(function(e){
  e.preventDefault();
  var url = $(this).attr('href'); 
  var failure = $('#' + $(this).attr('failure'));
  failure.html('');
  var element = $('#' + $(this).attr('element'));
  var id = element.val();
  var url_extra = 'account_id=' + id + '&field_prefix=purchaser';
  $.ajax({
      url: url,
      data: url_extra,
      type: 'post',
      error: function (data) {
        failure.html(data.responseText);
      }
    });
  return false;   
});
于 2012-09-25T01:50:42.487 に答える