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