Ruby on Rails使用视图助手中的变量动态生成视图中的字段名称

时间:2012-06-17 00:30:08

标签: ruby-on-rails view view-helpers

在我看来,让我说我有这样的事情:

<%= f.text_field :name_first %>

又一次:

<%= f.text_field :name_last %>

我想使用视图助手方法动态生成它们,而不是对字段名称进行硬编码。

def category_name
    @contact_info.category.name
end

def return_field_name
  category_lower = category_name.downcase
  ":name"+category_lower  
end

所以现在我的观点应该是这样的:

 <%= f.text_field return_field_name %>

1 个答案:

答案 0 :(得分:2)

写:

def return_field_name
  category_lower = category_name.downcase
  "name#{category_lower}".to_sym
  # but I'm sure that without #to_sym it should work as well
end

但如果它能帮到你,你应该只写纯方法。恕我直言,这是非常好的做法。