gpt4 book ai didi

ruby-on-rails - Rails 表单发布到/new 而不是/create?

转载 作者:数据小太阳 更新时间:2023-10-29 07:53:47 24 4
gpt4 key购买 nike

我有一个使用 Rails 3.1.x 应用程序的简单表单 View :

<%= form_for(:mymodel) do |f| %>
<% if @mymodel.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@mymodel.errors.count, "error") %> prohibited this model from being saved:</h2>

<ul>
<% @mymodel.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>

<div class="field">
Amount:
<%= f.text_field :count %><br /><br />
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>

当在此处点击提交时,它会发布到 /mymodels/new。我如何强制它为 mymodels_controller.rb 执行正确的创建操作?

最佳答案

选项 1:遵循约定并向 form_for 助手提供一个新的、未保存的记录。您可能已经在 @mymodel 上拥有这样的对象,设置在您的 Controller 的 new 操作上。所以下面的代码片段应该能很好地工作:

<%= form_for(@mymodel) do |f| %>

如果它不起作用,您可以像这样在您的操作上设置@mymodel:

class MyModelsController
def new
@mymodel = MyModel.new
end
end

选项 2:明确说明您的 URL 和方法:

<%= form_for(:mymodel, :url => create_mymodel_path, :method => :post) do |f| %>

关于ruby-on-rails - Rails 表单发布到/new 而不是/create?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10180862/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com