无法将 .erb 转换为 .haml
Cannot convert .erb to .haml
我有这段代码可以创建捐赠过程的视图:
<h2 class="mbs">New Donation</h2>
<br>
<%= form_tag confirm_payment_path, id: "checkout-form" do %>
<% if current_user and !current_user.has_payment_info? %>
<%= render 'customer_form' unless @anonymous_user %>
<% end %>
<br>
<p>Please enter your donation details (this is a donation and will not be applied towards your account):</p>
<div id="payment-form"></div>
<div id='coinbase-container-id'></div>
<input type="text" name="amount" placeholder="Enter amount">
<input type="submit" class="btn btn-primary" value="Donate">
<% end %>
<script src="https://js.braintreegateway.com/v2/braintree.js"></script>
<script>
var clientToken = "<%= @client_token %>";
braintree.setup(clientToken, "dropin", {
container: "payment-form",
form: "checkout-form",
coinbase: { container: "coinbase-container-id" }
}
);
</script>
我试过将其转换为 .haml,但没有用(我认为这是由于缩进不当造成的):
%h2.mbs New Donation
%br
= form_tag confirm_payment_path, id: "checkout-form" do
- if current_user and !current_user.has_payment_info?
= render 'customer_form' unless @anonymous_user
%br
%p Please enter your donation details (this is a donation and will not be applied towards your account):
#payment-form
#coinbase-container-id
%input{:name => "amount", :placeholder => "Enter amount", :type => "text"}
%input.btn.btn-primary{:type => "submit", :value => "Donate"}
%script{:src => "https://js.braintreegateway.com/v2/braintree.js"}
:javascript
var clientToken = " @client_token ";
braintree.setup(clientToken, "dropin", {
container: "payment-form",
form: "checkout-form",
coinbase: { container: "coinbase-container-id" }
}
);
为什么错了?我是 .haml 的新手
:javascript
声明后的 JavaScript 代码需要缩进,否则 HAML 不会将其放入它生成的 <script>
标记中。见 Filters documentation.
:javascript
var clientToken = " @client_token ";
braintree.setup(clientToken, "dropin", {
container: "payment-form",
form: "checkout-form",
coinbase: { container: "coinbase-container-id" }
});
您的 ERB 源代码中似乎还有一个额外的 <% end %>
,但 HAML 忽略了它。
我有这段代码可以创建捐赠过程的视图:
<h2 class="mbs">New Donation</h2>
<br>
<%= form_tag confirm_payment_path, id: "checkout-form" do %>
<% if current_user and !current_user.has_payment_info? %>
<%= render 'customer_form' unless @anonymous_user %>
<% end %>
<br>
<p>Please enter your donation details (this is a donation and will not be applied towards your account):</p>
<div id="payment-form"></div>
<div id='coinbase-container-id'></div>
<input type="text" name="amount" placeholder="Enter amount">
<input type="submit" class="btn btn-primary" value="Donate">
<% end %>
<script src="https://js.braintreegateway.com/v2/braintree.js"></script>
<script>
var clientToken = "<%= @client_token %>";
braintree.setup(clientToken, "dropin", {
container: "payment-form",
form: "checkout-form",
coinbase: { container: "coinbase-container-id" }
}
);
</script>
我试过将其转换为 .haml,但没有用(我认为这是由于缩进不当造成的):
%h2.mbs New Donation
%br
= form_tag confirm_payment_path, id: "checkout-form" do
- if current_user and !current_user.has_payment_info?
= render 'customer_form' unless @anonymous_user
%br
%p Please enter your donation details (this is a donation and will not be applied towards your account):
#payment-form
#coinbase-container-id
%input{:name => "amount", :placeholder => "Enter amount", :type => "text"}
%input.btn.btn-primary{:type => "submit", :value => "Donate"}
%script{:src => "https://js.braintreegateway.com/v2/braintree.js"}
:javascript
var clientToken = " @client_token ";
braintree.setup(clientToken, "dropin", {
container: "payment-form",
form: "checkout-form",
coinbase: { container: "coinbase-container-id" }
}
);
为什么错了?我是 .haml 的新手
:javascript
声明后的 JavaScript 代码需要缩进,否则 HAML 不会将其放入它生成的 <script>
标记中。见 Filters documentation.
:javascript
var clientToken = " @client_token ";
braintree.setup(clientToken, "dropin", {
container: "payment-form",
form: "checkout-form",
coinbase: { container: "coinbase-container-id" }
});
您的 ERB 源代码中似乎还有一个额外的 <% end %>
,但 HAML 忽略了它。