Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails中的对象属性循环_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails RubyonRails中的对象属性循环

Ruby on rails RubyonRails中的对象属性循环,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,可以在Rails中循环对象的属性吗?我有一个对象,而不是在视图中编码每个属性,我想在视图中输出它们中的每一个,因为有很多 我有一个名为@work\u profile的对象,它有许多属性,主要是布尔复选框值 编辑:我知道我可以使用@work\u profile.attributes。任何关于将散列格式设置为更加用户友好的格式的帮助都将非常有用。该方法返回所有属性的散列。您可以使用它来循环所有属性 @work_profile.attributes.each do |attr_name, attr_v

可以在Rails中循环对象的属性吗?我有一个对象,而不是在视图中编码每个属性,我想在视图中输出它们中的每一个,因为有很多

我有一个名为
@work\u profile
的对象,它有许多属性,主要是布尔复选框值

编辑:我知道我可以使用
@work\u profile.attributes
。任何关于将散列格式设置为更加用户友好的格式的帮助都将非常有用。

该方法返回所有属性的散列。您可以使用它来循环所有属性

@work_profile.attributes.each do |attr_name, attr_value|
  ...
end
从某种角度来看,这将提供:

<% @work_profile.attributes.each do |attr_name, attr_value| %>
  <div class="work_profile_attribute">
    <%= attr_name %>: <%= attr_value %>
  </div>
<% end %>

: 

太好了,这正是我想要的。如何在视图中格式化散列的输出?我不完全确定散列的输出是什么意思,但我添加了一个代码片段,展示了如何在视图中循环属性。举个例子……有没有办法将attr_名称转换为更友好的名称?Ie:have_a_car:true更像have a_car:trueTry
attr_name.人性化
。这将把诸如“have_a_car”之类的字符串转换为“have a car”。请注意,String#personalize方法是由Rails提供的,因此在Rails环境之外无法工作。