我使用以下命令添加了一个新列:
rails g migration AddMatrixPositionToAnswer matrix_position:integer
然后运行命令:
rake db:migrate
现在,如果我将以下代码写入视图,则会找到Method not found
<%= f.number_field :matrix_position, :class => 'form-control' %>
错误是:
更新:
表格:
<%= form_for(@answer) do |f| %>
<div class="field">
<%= f.label :matrix_position %><br>
<%= f.text_field :matrix_position %>
</div>
<div class="field">
<%= f.label :value %><br>
<%= f.text_field :value, :class => 'form-control', :Placeholder => 'Any value (e.g. M (Male), F (Female), United States (US))' %>
</div>
<%= f.hidden_field :question_id %>
<div class="actions">
<%= f.submit(:value => ' Save', :class => 'fa btn btn-success' ) %>
<hr />
</div>
<% end %>
有趣的是,&lt;%= f.label:matrix_position%&gt;作品。但是&lt;%= f.text_field:matrix_position%&gt;不起作用。
答案 0 :(得分:1)
您的数据库表列中实际上有一个TYPO
。仔细看:
数据库中的martix_position
。但是,您在matrix_position
中指定f.text_field
,这就是它失败的原因:)
因此,要么使用其他迁移将数据库列更改为matrix_position
。或者,在表单中使用:f.text_field :martix_position
,您的选择: - )