我在辅助文件中有这段代码:
def admin_post_edit_destroy(post)
if current_user.admin?
link_to 'Edit', edit_post_path(post)
link_to "delete", post, method: :delete, data: { confirm: "You sure" }
end
end
我让它返回delete
。
我只是想知道除了删除链接之外还需要添加什么才能显示编辑链接?我可以输入&&
或+
或其他内容吗?
答案 0 :(得分:3)
您遇到的问题是ruby方法只会自动返回计算的最后一项的值,因此您只能返回删除链接。尝试将这两个链接一起添加如下:
def admin_post_edit_destroy(post)
if current_user.admin?
link_to('Edit', edit_post_path(post)) + link_to('Delete', post, method: :delete, data: { confirm: "You sure" })
end
end
您还可以从辅助方法返回两个值:
def admin_post_edit_destroy(post)
if current_user.admin?
return link_to('Edit', edit_post_path(post)), link_to('Delete', post, method: :delete, data: { confirm: "You sure" })
end
end
然后你可以调用这样的方法来获得两个变量(edit_link
和delete_link
)中的两个返回值:
edit_link, delete_link = admin_post_edit_destroy(@post)