1
我试图让漂亮的助手,这样我就可以使用这些样式:帮手编辑/显示/销毁带有链接的图像
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
,这是工作正常,但我期待的神奇轨道的方式:-)
有什么区别? eval是邪恶的? :-) –
'link_to image_tag('admin/show.png'),[:edit,:admin,object]' 很好用。谢谢 –
@ huanson'eval'会调用解析器将字符串解析为ruby代码,然后运行它,这在运行时太慢了。 'send'只需找到相应的方法并应用即可。 – ShiningRay