Ruby on Rails 使用视图助手中的变量在视图中动态生成字段名称
Posted
技术标签:
【中文标题】Ruby on Rails 使用视图助手中的变量在视图中动态生成字段名称【英文标题】:Ruby on Rails Dynamically generate field name in view using variable from view helper 【发布时间】:2012-06-17 00:30:08 【问题描述】:在我看来,假设我有这样的事情:
<%= 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】:写:
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
但如果它对你有帮助,你应该只编写纯方法。恕我直言,这是非常好的做法。
【讨论】:
谢谢!这正是我所需要的。奇迹般有效。我不能接受这个答案,因为我只有 11 个代表点(4 个短)。我会尽快回到这里接受。再次感谢!以上是关于Ruby on Rails 使用视图助手中的变量在视图中动态生成字段名称的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Ruby on Rails 中的字符串值创建变量名?