调节器
@contributions = PaperTrail::Version.all.order("created_at DESC")
视图
<% @contributions.each do |v| %> <h2><%= v.item.name %><small>by </small></h2> <% v.changeset.each do |data| %> <h4><%= data %></h4> <% end %> <%= v.whodunnit %><% end %>
在这里,我得到关联的用户,但只有ID与whodunnit,但我想得到一个用户实例来获取用户名.所以v.whodunnit我想要v.user.username.
我一直在寻找similar question,但似乎无法找到一种方法来创建版本和用户之间的关系.
用户模型
class User < ActiveRecord::Base has_many :versions,:foreign_key => 'whodunnit',:class_name => "PaperTrail::Version"end
版本模型
class Version < PaperTrail::Version belongs_to :user,:foreign_key => 'whodunnit'end
编辑
当我有<%= v.user%>时,我得到了这个在视野中
undefined method `user' for #<PaperTrail::Version:0x007fb24c08e868>解决方法 还有另一种方法:
class Version < PaperTrail::Version ... def user User.find(whodunnit) if whodunnit end end
如果您需要将用户模型添加到PaperTrail :: Version类本身,则向您的应用添加新的初始化程序:
配置/初始化/ papertrail_monkey_patch.rb
module PaperTrail class Version def user User.find(whodunnit) if whodunnit end endend总结
以上是内存溢出为你收集整理的ruby-on-rails – 使用whodunnit获取用户实例全部内容,希望文章能够帮你解决ruby-on-rails – 使用whodunnit获取用户实例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)