【问题标题】:Ruby on Rails Convert Button To LinkRuby on Rails 将按钮转换为链接
【发布时间】:2015-05-13 16:50:02
【问题描述】:

我在视图中有这个按钮:

<%= button_to 'Add Review', {controller: 'reviews', action: 'new', id: booking.showing.film.id } %>

然后将用户发送到新的评论路径并使用电影的 ID 使新的评论表单能够知道正在评论的电影。这是通过路线完成的:

post 'reviews/new/:id', to: 'reviews#new'

但是按钮看起来不太好,所以我想要一个link_to。我试过这个:

<%= link_to 'Add Review', {controller: 'reviews', action: 'new', id: booking.showing.film.id } %>

但是通过我的错误路由:

 match '*a', to: 'errors#routing', via: [:get, :post]

它将用户返回到索引页面并显示消息:No such path as 'reviews/new/6'

如何创建与按钮完全相同的链接?

【问题讨论】:

    标签: ruby-on-rails ruby button hyperlink link-to


    【解决方案1】:

    您的路由需要按钮发出的 POST 请求,但 link_to 发出 &lt;a&gt; 元素,它将发出 GET 请求。您不能让&lt;a&gt; 提交 POST。我建议您使用该按钮并使用 CSS 重新设置它的样式,使其看起来像一个链接。

    【讨论】:

      【解决方案2】:

      您可以使用:method 选项在link_to 中设置http 动词(例如:post)(参见http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to)。

      但是,您应该考虑更改路线,因为 reviews#new 操作会呈现新的审核表单。创建或更新数据时使用 POST 请求。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-02
        • 2012-03-08
        • 1970-01-01
        • 1970-01-01
        • 2016-12-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多