代码之家  ›  专栏  ›  技术社区  ›  dav

rails中Params对象中的变量符号

  •  8
  • dav  · 技术社区  · 16 年前

    我有以下代码:

    @profile.update_attributes(params[:xxxx_profile])
    

    female_profile[foo] 或者 male_profile[foo] 我想相应地改变它。假设我有一个可以代替xxxx插入的字符串,我如何动态创建这个符号?

    谢谢

    3 回复  |  直到 16 年前
        1
  •  12
  •   jkrall    16 年前

    @profile.update_attributes(params["#{gender}_profile".to_sym])
    

    http://api.rubyonrails.org/classes/HashWithIndifferentAccess.html

    @profile.update_attributes(params["#{gender}_profile"])
    
        2
  •  3
  •   dave dave    16 年前

    @profile.update_attributes(params[(@sexstring + "_profile").to_sym])
    
        3
  •  1
  •   nowk    16 年前

    你也可以这样做

    @profile.update_attributes(params[:"#{gender}_profile"])
    
    推荐文章