为什么我的button_to创建空白条目? Ruby on Rails 3

时间:2015-05-13 21:14:00

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

更新未使用params,但将参数传递到块

好像我的参数没有传递给控制器​​动作。我正在尝试使用svc_tickets创建button_to表格的条目。

我只是在表格中输入空白

这是button_to

<td class='create_service_ticket' style="width: 7%"><%= button_to 'Create Service Ticket',
                                                                          {controller: :svc_tickets,
                                                                           action: 'create',
                                                                           priority_level: 3,
                                                                           summary: event[:signature_name].to_s,
                                                                           description: 'description',
                                                                           closed: 0} %> </td>

SvcTicktsController

  def create
    @svc_ticket = SvcTicket.new(params[:svc_ticket])
    respond_to do |format|
      if @svc_ticket.save
        format.html { redirect_to :back, notice: 'Svc ticket was successfully created.' }
        #format.json { render json: @svc_ticket, status: :created, location: @svc_ticket }
      else
        format.html { render action: "new" }
        format.json { render json: @svc_ticket.errors, status: :unprocessable_entity }
      end
    end
  end

这是来自页面来源

  <form action="/svc_tickets?closed=0&amp;description=description&amp;priority_level=3&amp;summary=drop+-+WP-Admin+attempt" class="button_to" method="post">
    <div>
      <input type="submit" value="Create Service Ticket">
      <input name="authenticity_token" type="hidden" value="qWjFT8JDEUPXceQN3taodnInwerVEiCIKayJKBoEoTs=">
    </div>
  </form>

2 个答案:

答案 0 :(得分:1)

此功能未在Rails 3中实现。请查看此方法here的规范。它在Rails 4中实现。

答案 1 :(得分:0)

作为explained in the docs,Rails 3中button_to的第二个参数是传递给url_for的选项哈希,因此它是您传递params的第二个参数:

button_to('Create Service Ticket', {
  controller: :svc_tickets,
  params: {
    priority_level: 3,
    summary: event[:signature_name].to_s,
    description: 'description',
    closed: 0
  }
})