Rails - 如何构建一个 PAT 到控制器更新的link_to



我有控制器:

class GroupRequestsController < ApplicationController
  def update
    @group_request = GroupRequest.find(params[:id])
    respond_to do |format|
      if @group_request.update_attributes(params[:group_request])
        format.js
      else
        format.js
      end
    end
  end

在我看来,我有:

<button type="button" class="button positive tiny">Add</button>
<button type="button" class="button tiny">Ignore</button>

我如何在单击时制作这些按钮,以add或ignore作为决策参数远程调用控制器的更新方法?

感谢

使用单独的表单。

-form_for :group_request, :remote => true do |f|
  =f.hidden_field :decision, "Add"
  %button{:type => "button", :class => "..."} Add
-form_for :group_request, :remote => true do |f|
  =f.hidden_field :decision, "Ignore"
  %button{:type => "button", :class => "..."} Ignore

我使用HAML语法是因为如果你不使用HAML,你应该这样做。这是发送值的唯一一致方式。Button标签有一个"value"属性,但并不是所有主流浏览器都支持它,所以你不能依赖它。不幸的是,这意味着你必须进行一系列令人讨厌的样式设置,才能让按钮并排显示。

我唯一能想到的其他选择是使用纯JS使按钮的行为像表单,但我不建议这样做,因为它不会优雅地降级。

相关内容

  • 没有找到相关文章

最新更新