如何通过两个条件动作构成Haml形式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过两个条件动作构成Haml形式相关的知识,希望对你有一定的参考价值。

提交后,此表单将在控制器上调用put操作:

.panel-body{style: 'background:#0E0D0D;'}
    =form_for @payment, method: :put, html: {id: 'edit_bank_detail'} do |f|          .row.text_white
      .form-group.col-lg-12
        =f.label :paypal_email_address
        =f.email_field 'user_paypal_email',class: 'form-control'
    .row.text-center
      .form-group.col-lg-12
        =f.submit 'Submit', class: 'btn btn-primary text_black',data: { disable_with: "Please wait..." }

我需要根据条件来调用putcreate操作:

if @payments.new_record? 
  # create action
else
  # put action   
答案

您甚至不需要首先指定HTTP方法。 form_for及其后继form_with足够聪明,可以通过在您作为第一个参数传递的#persisted?模型实例上调用@payment来找出action属性和方法的路径。

= form_for @payment, html: {id: 'edit_bank_detail'} do |f|

考虑到常规路由,如果记录已保留,它将把表格指向POST /paymentsPATCH /payments/:id。 Rails使用PATCH而不是PUT进行更新since 2012,但是resourcesresource仍会生成其他PUT路由以实现向后兼容性。

以上是关于如何通过两个条件动作构成Haml形式的主要内容,如果未能解决你的问题,请参考以下文章

结束haml评论

在haml中查找两个日期之间的范围

Rails 3.2 - haml vs. erb。haml是否更快?(2012年2月)

13 个非常有用的 Python 代码片段

Haml:如何在 HAML 中为元素设置内联样式

如何在Sublime Text中添加代码片段