Я только что переключил свое приложение на рельсы 3.1 и ruby 1.9.Я также интегрирую Stripe через их API.Может быть, это вызывает проблемы?Я не могу понять на всю жизнь, в чем проблема с этой формой.Он говорит, что первая ошибка в строке 3 с оператором else
(это ошибка компиляции, подробное описание ошибки ниже).Все отступы последовательны, я прошел построчно и исправил это.Дайте мне знать, если я должен опубликовать больше информации, например, мой gemfile или что-то еще.
Вот проблемный Форма:
=if
%h1 Sign up
=else
%h1 Edit
=form_for(@user) do |f|
=render "shared/error_messages", :target => @user
=f.hidden_field :stripe_card_token
%dl
=if signed_in?
%dt.field=f.label :avatar
%dd.field=f.file_field :avatar
%dt.field=f.label :name
%dd.field=f.text_field :name
%dt.field=f.label :email
%dd.field=f.text_field :email
=if @user.new_record?
%dt.field=f.label :password
%dd.field=f.password_field :password
=if @user.stripe_card_token.present?
%p Credit card has been provided.
=else
%div.field
=label_tag :card_number, "Credit Card Number"
=text_field_tag :card_number, nil, name:nil
%div.field
=label_tag :card_code, "Security Code on Card (CVV)"
=text_field_tag :card_code, nil, name:nil
%div.field
=label_tag :card_month, "Card Expiration"
=select_month nil, {add_month_numbers: true}, {name: nil, id: "card_month"}
=select_year nil, {start_year: Date.today.year, end_year: Date.today.year+15}, {name: nil, id: "card_year"}
%div#stripe_error
%noscript JavaScript is not enabled and is required for this form. First enable it in your web browser settings.
.actions
=f.submit((defined?(editing) ? "Update" : "Sign Up"))
Здесь ошибка:
compile error
/Users/brianjoseff/rails_projects/groupie/app/views/users/_form.html.haml:3: syntax error, unexpected kELSE
/Users/brianjoseff/rails_projects/groupie/app/views/users/_form.html.haml:23: syntax error, unexpected kELSE
/Users/brianjoseff/rails_projects/groupie/app/views/users/_form.html.haml:25: syntax error, unexpected tSYMBEG, expecting kDO or '{' or '('
...d_tag :card_number, nil, name:nil
^
/Users/brianjoseff/rails_projects/groupie/app/views/users/_form.html.haml:27: syntax error, unexpected tSYMBEG, expecting kDO or '{' or '('
...eld_tag :card_code, nil, name:nil
^
/Users/brianjoseff/rails_projects/groupie/app/views/users/_form.html.haml:30: odd number list for Hash
...month nil, {add_month_numbers: true}, {name: nil, id: "card_...
^
/Users/brianjoseff/rails_projects/groupie/app/views/users/_form.html.haml:30: syntax error, unexpected ':', expecting '}'
...month nil, {add_month_numbers: true}, {name: nil, id: "card_...
^
/Users/brianjoseff/rails_projects/groupie/app/views/users/_form.html.haml:30: odd number list for Hash
...d_month_numbers: true}, {name: nil, id: "card_month"}
^
/Users/brianjoseff/rails_projects/groupie/app/views/users/_form.html.haml:30: Can't assign to nil
...th_numbers: true}, {name: nil, id: "card_month"}
^
/Users/brianjoseff/rails_projects/groupie/app/views/users/_form.html.haml:30: syntax error, unexpected ':', expecting '='
...umbers: true}, {name: nil, id: "card_month"}
^
/Users/brianjoseff/rails_projects/groupie/app/views/users/_form.html.haml:30: syntax error, unexpected '}', expecting ')'
/Users/brianjoseff/rails_projects/groupie/app/views/users/_form.html.haml:37: syntax error, unexpected kENSURE, expecting $end
...Util.html_safe(_erbout);ensure;@haml_buffer = @haml_buffer.u...
^
Спасибо всем
ОБНОВЛЕНИЕ 1 ... новая форма без обозначения массива javascript:
=if
%h1 Sign up
=else
%h1 Edit
=form_for(@user) do |f|
=render "shared/error_messages", :target => @user
=f.hidden_field :stripe_card_token
%dl
=if signed_in?
%dt.field=f.label :avatar
%dd.field=f.file_field :avatar
%dt.field=f.label :name
%dd.field=f.text_field :name
%dt.field=f.label :email
%dd.field=f.text_field :email
=if @user.new_record?
%dt.field=f.label :password
%dd.field=f.password_field :password
=if @user.stripe_card_token.present?
%p Credit card has been provided.
=else
%div.field
=label_tag :card_number, "Credit Card Number"
=text_field_tag :card_number, :name => nil
%div.field
=label_tag :card_code, "Security Code on Card (CVV)"
=text_field_tag :card_code, :name => nil
%div.field
=label_tag :card_month, "Card Expiration"
=select_month nil, {:add_month_numbers => true}, {:name => nil, :id => "card_month"}
=select_year nil, {:start_year => Date.today.year, :end_year => Date.today.year+15}, {:name => nil, :id => "card_year"}
%div#stripe_error
%noscript JavaScript is not enabled and is required for this form. First enable it in your web browser settings.
.actions
=f.submit((defined?(editing) ? "Update" : "Sign Up"))