使用Rails渲染特定字段

时间:2010-03-12 07:51:40

标签: ruby-on-rails amf

如果我有一个对象说

@user

我想只渲染其中的某些字段,例如first_name和last_name(我正在使用AMF)

render :amf => @user

例如我有@user的属性是'dob'(出生日期)我想在控制器业务逻辑中使用它但我不想将它发送到客户端(在这种情况下是Flex)我可以在渲染之前做defenitaly做这样的事情:

@user.dob = nil

但我认为必须有更好的方法来做到这一点。

我该怎么做?

我知道我可以使用:在执行'find'时选择但我需要在服务器端使用其他字段但不想将它们与AMF一起发送到客户端而我不想这样做第二个'发现'

谢谢,

1 个答案:

答案 0 :(得分:1)

article提供了该方法的详细信息。

您已按如下方式配置 config / ruby​​amf_config.rb 文件:

require 'app/configuration'
module RubyAMF
  module Configuration
    ClassMappings.ignore_fields   = ['created_at','updated_at']
    ClassMappings.translate_case  = true
    ClassMappings.assume_types    = false
    ParameterMappings.scaffolding = false

    ClassMappings.register(
      :actionscript  => 'User',
      :ruby          => 'User',
      :type          => 'active_record',
      :associations  => ["employees"],
      :ignore_fields => ["dob"]
      :attributes    => ["id", "name", "location", "created_at", "updated_at"]
    )

    ClassMappings.force_active_record_ids = true
    ClassMappings.use_ruby_date_time = false
    ClassMappings.use_array_collection = true
    ClassMappings.check_for_associations = true
    ParameterMappings.always_add_to_params = true
   end
end