我正在努力做出好帮手,以便我可以使用这些风格:
edit(category)
destroy(post.comment.first)
show(@user)
我们可以通过精美的图片获得所选链接。
任何人都可以告诉我,如果我做得对,还是有更好的神奇铁路方式来获取网址?
def show(object)
link_to image_tag("admin/show.png"), eval("admin_{object.class.to_s.downcase}_path(# {object.id})")
end
def edit(object)
link_to image_tag("admin/edit.png"), eval("edit_admin_#{object.class.to_s.downcase}_path(#{object.id})")
end
def destroy(object)
link_to image_tag("admin/destroy.png"), eval("admin_#{object.class.to_s.downcase}_path(#{object.id})"), :method=>:delete, :confirm=>"Do you really want to delete this?"
end
这工作正常,但我正在寻找神奇的铁路方式: - )
答案 0 :(得分:1)
将eval
替换为send
,并将downcase
替换为underscore
,这是rails'convention
send("admin_{object.class.to_s.underscore}_path", object.id)
顺便说一句,rails可以为你做这些:
# equals to your `show(object)`
link_to image_tag('admin/show.png'), [:admin, object]