ruby-on-rails – 在方法调用中插入Ruby?
发布时间:2020-12-17 03:59:32 所属栏目:百科 来源:网络整理
导读:在我的用户模型中,我有一些属性,如is_foos_admin和is_bars_admin,用于确定允许用户编辑哪种记录. 我想干掉我的编辑链接,目前看起来像这样: %= link_to 'Edit',edit_foo_path(foo),:class = 'edit' if current_user.is_foos_admin? %...%= link_to 'Edit',ed
在我的用户模型中,我有一些属性,如is_foos_admin和is_bars_admin,用于确定允许用户编辑哪种记录.
我想干掉我的编辑链接,目前看起来像这样: <%= link_to 'Edit',edit_foo_path(foo),:class => 'edit' if current_user.is_foos_admin? %> ... <%= link_to 'Edit',edit_bar_path(bar),:class => 'edit' if current_user.is_bars_admin? %> 我想做一个帮助,让我传入一个foo或bar并获取一个链接进行编辑,如下所示: <%= edit_link_for(foo)%> 帮助器可能看起来像这样(这不起作用): def edit_link_for(thing) if current_user.is_things_admin? link_to 'Edit',edit_polymorphic_path(thing),:class => 'edit' end end 与模型无关的edit_polymorphic_path方法让我在那里,但它是“is_things_admin”方法,我不知道如何通用化.如果我可以在帮助器中使用插值Ruby,我想做类似的事情 if current_user.is_#{thing.class.name.downcase.pluralize}_admin? 但当然这不起作用.有任何想法吗? 解决方法
尝试使用发送:
if current_user.send("is_#{@model}_admin?") (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |