我们可以在rails中传递其他参数和render方法

时间:2013-08-07 17:23:18

标签: ruby-on-rails ruby-on-rails-3.1

控制器方法:

def add
@project = Project.find(1)
render xml: @project  #wish to pass one more variable like this here
end

ajax电话:

endpoint = ROOT_PATH + '/projects/add/'+data_type;
    $.ajax({
            url : endpoint,
            type : "get",
            dataType : "xml",
            success : function(xml) {

                            id = $(xml).find('id').text();
                title = $(xml).find('title').text();

                   // wish to display the sent additional parameter here.
    }
    });

我能够在ajax调用中获取项目实例参数'id'和'title'。但是我希望再发送一个参数和@project,并希望在ajax调用中使用this参数的值。有人可以帮我解决。谢谢!

1 个答案:

答案 0 :(得分:1)

其中一种方式可能是:

 render xml: @patient.as_json.merge({:YOUR_KEY => YOUR_VALUE})

如果你想发送请求的参数或nil @patient,那么:

requested_params = params.except(:controller, :action)
render xml: @patient.present? ? @patient.as_json.merge(requested_params) : requested_params`