2

在我看来,假设我有这样的事情:

<%= 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 %>
4

1 回答 1

3

写:

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

但是,如果它对您有帮助,您应该只编写纯方法。恕我直言,这是非常好的做法。

于 2012-06-17T00:36:20.710 回答