Rails slim form_for tag

3

我在将常规ERB文件切换为Slim文件后,无法让一个表单正常工作。这是我想让Slim渲染的表单:

= form_for @student, :url => students_path(@student), method: :post do |f|
    = f.hidden_field :student_id, :value => current_user.id
    = f.hidden_field :course_id, :value => group.id
    = submit_tag "Join this Class!", :class => "btn btn-primary pull-right join-button"

这是常规ERB文件中的工作代码:

以下是常规ERB文件中的工作代码

<%= form_for @student, :url => students_path(@student), method: :post do |f| %>
    <%= f.hidden_field :student_id, :value => current_user.id %>
    <%= f.hidden_field :course_id, :value => group.id %>
    <%= submit_tag "+ Join", :class => "btn btn-primary pull-right join-button" %>
<% end %>

我目前遇到的错误是:

undefined local variable or method `f'
1个回答

7
大多数与Slim有关的问题都是缩进问题,尝试这样做(在form_for后面加上两个空格):
= form_for @student, :url => students_path(@student), method: :post do |f|
  = f.hidden_field :student_id, :value => current_user.id
  = f.hidden_field :course_id, :value => group.id
  = submit_tag "Join this Class!", :class => "btn btn-primary pull-right join-button"

太好了!感谢您的帮助。这是一个缩进问题。表单已经在页面上缩进,隐藏字段也从表单缩进,但是在制表符之前有空格。我不知道这是否有意义,但是是的,您是正确的,这是一个缩进问题!谢谢。 - ajk4550
是的,这是一个非常让人烦恼的错误。“tab != 两个空格”。 - Roman Kiselenko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接