0

Rails プロジェクトで link_to 経由で ajax を使用して、データを運ぶオブジェクト インスタンスをコントローラーに渡したいと思います。しかし、データがコントローラに転送されていないようです。何が間違っていますか? 私のコードサンプルは以下の通りです:

<%= link_to '', my_path_controller_path(my_object: @object),
                              remote: true, method: :post, class: "my-class" %>

コントローラーには次のものがあります。

def my_path
    @my_object = MyObject.new(params[:my_object])

        if @my_object.valid?
           @my_object.doSomething()
           render json: {
               success: true
           }
       else
           render json: {
           success: false,
           message: @my_object.errors.full_messages.to_sentence
         }
       end
end

@object は、ビューに渡される前に初期化されるインスタンス変数です。

4

1 に答える 1

1

このようなことを試してください:

<%= link_to 'My Link', javascript::void(0), :class => "my-class" %>

いくつかのスクリプトを入れてください:

<script>
$(".my-class").click(function() {
   $.ajax({
        type: "post",
        url: "<%= my_path_controller_path %>",
        data: {my_object: <%= @object %>},
        dataType:'script',
            beforeSend: function(){
                // do whatever you want
            },
            success: function(response){
                // do whatever you want
            }
        });
});
</script>
于 2013-07-02T06:25:56.713 に答える