语法haml有什么问题?我用了2个空格。显示错误: /home/user/myapp/bds/app/views/polls/_voting_form.html.haml:14:语法错误,意外的keyword_ensure,期待输入结束
= form_tag votes_path, method: :post, remote: true, id: 'voting_form'
= hidden_field_tag 'poll[id]', @poll.id
= render partial: 'polls/poll_item', collection: @poll.poll_items, as: :item
%p
%b Итого голосов: = @poll.votes_count
- if current_user.voted_for?(@poll)
%p Вы уже голосовали!
- else
= submit_tag 'Голосовать', class: 'btn-bg'
答案 0 :(得分:7)
我看到两个错误:
do
行的form_tag
。 votes_count
:要么使用字符串插值,要么在多行上写(现在它只是将其打印为字符串)最简单的解决方案是编写
%b Итого голосов: #{@poll.votes_count}
答案 1 :(得分:2)
以下是两个错误:
= form_tag votes_path, method: :post, remote: true, id: 'voting_form' # <= missing do
....
%p
%b Итого голосов: = @poll.votes_count # <= no valid haml
应该是
= form_tag votes_path, method: :post, remote: true, id: 'voting_form' do
....
%p
%b
Итого голосов:
= " #{@poll.votes_count}"
您可能不会将普通文本添加到需要=
的ruby代码段中。我不认为有一个编译器可以解释这个。
这样:
%b= @poll.votes_count # this works
%b Votes count: = @poll.votes_count # this does not
因此:
%b
Итого голосов:
= " #{@poll.votes_count}"
或
%b= "Итого голосов: #{@poll.votes_count}"
是要走的路。