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 回答