Ruby on rails Rails帮助文件中的If语句?

Ruby on rails Rails帮助文件中的If语句?,ruby-on-rails,ruby,Ruby On Rails,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 我让它返回delete 我只是想知道除了删除链接外,我还需要添加什么来显示编

我在助手文件中有以下代码:

  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


我只是想知道除了删除链接外,我还需要添加什么来显示编辑链接?我是否键入
&&
+
或其他内容?

您遇到的问题是,ruby方法只自动返回最后一个计算项的值,因此您只返回delete链接。尝试按如下方式将两个链接添加到一起:

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
还可以从helper方法返回两个值:

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\u link
delete\u link
):


我建议使用两种方法——一种返回管理员编辑链接,另一种返回删除链接。然后,您可以直接从视图中调用每个方法来插入链接。这将为您设置每个链接的样式提供更大的灵活性。
edit_link, delete_link = admin_post_edit_destroy(@post)