21

link_to_functionRailsのJavascriptヘルパーのステータスはどうなっていますか?このstackoverflowの質問を含めて、Rails 3.0で非推奨になり、次に非推奨になり、3.2.4で再び非推奨になったことを読みました。それは私が頼りにして生徒に教えることができるものですか?Rails 3.2.8のリリースノートを(検索から)読んだばかりです。

button_to_functionおよびlink_to_functionヘルパーの非推奨を元に戻しました。ラファエル・メンドンサ・フランサ

これは今どこに立っていますか?

4

3 に答える 3

45

link_to_functionブランチでは非推奨ではなく、今後も非推奨になることはありませ。しかし、現在のmasterブランチでは廃止予定であり、Rails 4.0 のリリース時には廃止される予定です。したがって、4.1 で Rails コードから削除されると思います。したがって、学生にこれを行うように教えることができます(rails 4の変更ログから):3-2-stable3-2-stable

代わりに控えめな JavaScript を使用することをお勧めします。例えば:

link_to "Greeting", "#", class: "nav_link"

$(function() {
  $('.nav_link').click(function() {
    // Some complex code

    return false;
  });
});

また

link_to "Greeting", '#', onclick: "alert('Hello world!'); return false", class: "nav_link"
于 2013-01-14T19:17:42.180 に答える
4

これは、この問題に対する私の解決策です:

JavaScriptで:

// define function to be called
function awesome_func(a,b,c){
  console.log(a,b,c);
}

//clean implementation of link_to_function
$(function(){
  $('[data-on][data-call][data-args]').each(function(d){
    try{
       $(this).on( $(this).data('on'), function(){
          window[$(this).data('call')].apply(window,$(this).data('args'))})
    }catch(e){
       if(typeof(console) != 'undefined' && typeof(console.log === 'function'))
         console.log(e);
    }
  });
})

次に、レールで行うことができます:

link_to 'Awesome Button', '#', data:{on: :click, call: 'awesome_func',args: '[1,"yeah",{b:4}]'

これは彼らが私たちにコーディングしてほしい方法のようです:)、私はlink_to_functionが好きでしたが、

于 2015-05-17T11:32:16.893 に答える