我有一个订阅者资源(邮件列表),并想要取消订阅表单.我用表单创建了一个删除视图
Run Code Online (Sandbox Code Playgroud)<%= form_for(Subscriber.new, :action => :delete) do %> email: <%= text_field_tag :mail %> <%= submit_tag "Sign out" %> <% end %>
我尝试调用控制器的delete方法,而是调用编辑操作.
问题是到destroy操作的RESTful路由需要:要删除的资源的id,并且由于您使用Subscriber.new作为创建表单的源,因此无法创建适当的URL来发布.
你可以使用这样的路线解决这个问题:
<% form_for(:subscriber, :url => subscriber_path("email"), :html => {:method => :delete}) do %>
email: <%= text_field_tag :mail %>
<%= submit_tag "Sign out" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
请注意,您必须将subscriber_path编辑为您自己的路由,但是通过使用"email"作为标识符,您可以确保没有faulthy:id传递给控制器,您可以使用该电子邮件找到正确的模型,以便我认为是你想做的.
| 归档时间: |
|
| 查看次数: |
3320 次 |
| 最近记录: |