【问题标题】:Rails adding custom actionRails 添加自定义操作
【发布时间】:2013-10-15 16:57:28
【问题描述】:

这可能是一个非常业余的问题,但我显然不知道该怎么做,我的问题是,我必须在索引页面上进行删除操作,类似于删除操作,但是当我单击此按钮或特定链接时索引页表中的行,它应该仅从页面中删除该项目(我知道如何仅从页面中删除该项目,而不是从数据库中删除该项目)所以我真正的问题是如何为按钮添加此链接以删除该项目,所以当我点击按钮时,它会被路由到控制器中的那个动作,因为页面将是相同的,我该如何给它提供路径?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 routing


    【解决方案1】:

    做这样的事情:

    <%= link_to "Delete", object_path(your_object), method: :delete %></td>
    

    只要指定 method: :delete 就可以了。 因此,例如,如果您正在使用用户模型,您会这样做:

        <%= link_to "Delete", users_path(user), method: :delete %></td>
    

    您还必须确保已设置好路线。例如:

    resources :users
    

    【讨论】:

    • "method: :delete" 是控制器中的方法名称吗?或一般的方法,如获取帖子删除?
    • 我们不需要在 routes.rb 文件中添加任何内容吗?
    • method: :delete 将触发后删除。你对路线文件是绝对正确的。我已经编辑了我的原始答案。此外,此示例假设您的控制器中有一个销毁操作。很抱歉造成混乱。
    • method :delete 会触发删除动作,如果我想触发用户定义的动作,比如说 post "remove",我应该放 method:"remove" 吗?
    • 在这种情况下,您会执行类似 没有看到您的控制器代码的情况。
    猜你喜欢
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    • 2011-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多