我创建了一个简单的表单来创建模型的实例,并且由于某种原因它没有调用控制器中的 create 方法。这是表单代码:
<% @house.mates.each do |mate| %>
<p><%= mate.name %></p>
<% end %>
<h2>Add a new mate:</h2>
<%= form_for @mate do |f| %>
<p><%= f.label "Name" %>
<%= f.text_field :name %>
<%= f.hidden_field :house_id %>
</p>
<%= f.submit "Submit", :action => :create %>
<% end %>
这是控制器代码:
class MatesController < ApplicationController
def new
@mate = Mate.new
end
def create
@mate = Mate.new(params[:mate])
@mate.save
redirect_to house_path(current_house)
end
end
Mate模型和House模型之间存在多对一的关系......我对rails相当陌生,但我已经制作了具有类似形式的其他应用程序,我以前从未遇到过这个问题。我可以在控制台中创建和保存 Mate 对象,并且没有收到任何错误,因此似乎没有调用控制器方法。任何帮助深表感谢!