Ruby on rails Rails—在视图中显示所有字段的简单方法
好的,我肯定我遗漏了一些东西,但请原谅我是Rails新手 Rails中是否有某种方式显示对象的所有字段,而不是指定每个字段 在我的show.html模板中,而不是Ruby on rails Rails—在视图中显示所有字段的简单方法,ruby-on-rails,view,Ruby On Rails,View,好的,我肯定我遗漏了一些东西,但请原谅我是Rails新手 Rails中是否有某种方式显示对象的所有字段,而不是指定每个字段 在我的show.html模板中,而不是 <p>Name: <%=h @user.full_name %></p> <p>Email: <%=h @user.email %></p> 名称: 电邮: 我只需要一个oneliner就可以做到这一点,而不必键入我拥有的15个左右字段中的每一个。 这是一个管
<p>Name: <%=h @user.full_name %></p>
<p>Email: <%=h @user.email %></p>
名称:
电邮:
我只需要一个oneliner就可以做到这一点,而不必键入我拥有的15个左右字段中的每一个。
这是一个管理页面,所以如果所有字段都显示(id、created_at等)就可以了
如果这是PHP,使用foreach大约需要5秒,但我(显然是在错误的东西上)在谷歌上搜索了一个小时,没有运气
谢谢 我假设您希望显示定义为ActiveRecord模型的数据库表中的行的所有属性。您可以使用类方法column_names(每个ActiveRecord模型都有),它返回数组中表列的名称
<%= User.column_names.collect { |col_name| "#{col_name.capitalize}: <p>#{@user[col_name]}</p>" }.join("\n") %>
类似
<% for attribute in @user.attributes.keys %>
<p><%= attribute.humanize %> <%= @user.attributes[attribute].to_s %></p>
<% end %>
我能做到
Matt这是我用来将一些不想显示的属性列入黑名单的代码片段 控制器(user\u controller.rb) 查看(show.html.erb):
<!-- language: ruby --><% for attribute in @user_showlist.keys %>
<b><%= attribute.humanize %></b>
<%= @user.attributes[attribute].to_s %>
<!-- language: ruby --><% end %>
以显示一系列属性。
<%= debug @user %>
显示对象的简单方法。。。这就是我通常使用的 如果您正在使用haml,并且希望循环查看视图中用户对象等的属性:
- for attribute in @user.attributes.keys
%p
= attribute.humanize
= @user.attributes[attribute].to_s
谢谢也正是我想要的。人性化啊!我想我的孩子有时也需要它,我爱它!最后我用:
只显示我想显示的字段。我在谷歌上搜索了一个小时才找到这个。非常感激
@user_showlist = @user.attributes.slice(*keys_whitelist)
<%= debug @user %>
- for attribute in @user.attributes.keys
%p
= attribute.humanize
= @user.attributes[attribute].to_s