我试图通过其与formtastic的id来显示属性的值。我有两个模特帽子像这样设置
class Membership < ActiveRecord::Base
has_many :members
attr_accessible :membership_type
end
class Member < ActiveRecord::Base
belongs_to :membership
accepts_nested_attributes_for :membership
attr_accessible :membership_id, :forename, :middlename, :surname, :house_no, :house_name, :street, :town, :postcode, :home_tel, :mobile_tel, :work_tel, :email
end
到目前为止,我的索引视图设置如此
index do
column :forename
column :middlename
column :surname
column :house_no
column :house_name
column :street
column :town
column :postcode
column :home_tel
column :mobile_tel
column :work_tel
column :email
column :membership
default_actions
端
但成员资格的值输出为
#<Membership:0x007f2c2064c370>
我如何得到实际值,所以它会说“学生”,例如
通常我会做这样的事情我猜
<% @members.each do |m| %>
<%= m.forname%>
<%= m.surname%>
<% m.memberships.each do |s| %>
<%= s.membership_type%>
<% end %>
但不能在形式上找出它
由于
答案 0 :(得分:2)
ActiveAdmin尽力使用display name为您的对象找到list of possible attributes:
要确保您的Membership对象在整个系统中具有可识别的名称,您可以将其中一个属性添加为成员资格的方法:
class Membership < ActiveRecord::Base
has_many :members
attr_accessible :membership_type
def display_name
membership_type
end
end
或者,您可以像MichałAlbrycht建议并配置视图以对会员列执行自定义呈现。
答案 1 :(得分:1)
试试这个:
column 'Membership type' do |member|
"#{member.membership.membership_type}".html_safe
end
column 'Other members' do |member|
member.membership.members.each() do |m|
"#{m.forname} #{m.surname}<br/>".html_safe
end
end
答案 2 :(得分:1)
谢谢@Cmaresh。问题解决了。 This 是我在项目中解决问题的提交链接。任何人都可以看到源代码,并且可以很容易地理解如何解决问题。