我的 /app/views/password_resets/new.html.erb 视图中有以下表格
<% form_tag password_resets_path do %>
<label><%= t(:email) %>:</label><br />
<%= text_field_tag "email" %><br />
<br />
<%= submit_tag t("reset_password") %>
<% end %>
以及一个名为 PasswordResetsController 的控制器,其中包含一个 create 方法:
def create
@user = User.find_by_email(params[:email])
if @user
@user.deliver_password_reset_instructions!
self.notice = t("password_reset_instructions_are_mailed")
redirect_to root_url
else
flash[:error] = t("no_user_found")
render :action => :new
end
end
当我转到 /password_resets/new、填写表单并提交时,会正确调用 create 方法,因为 /password_resets 发生 POST 时会调用 PasswordResetsController::create() 方法。
但是,当我将表单放在另一个视图中时,例如 /app/views/test/index.html.erb,填写表单,提交,我得到
未知动作
没有任何操作响应索引。操作:access_forbidden、admin_created?、check_roles、create、edit、find_order、included、new、role_requirements、role_requirements=、title、title= 和 update
任何想法为什么移植表格不起作用?