ruby-on-rails – Ruby on Rails:我可以做一个“link_to”来调用create action吗?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Ruby on Rails:我可以做一个“link_to”来调用create action吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何从link_to正确地调用create action?我正在使用REST(map.resources:recipes).以下是创建操作:
def create
  recipe = Recipe.create(:name => "French fries")
  redirect_to recipe
end

例如,我以为这样的事情可能会起作用:

<%= link_to "Create a default recipe",recipe_path,:method => :post %>

我不知道这是否是推荐(甚至是正确的)方法.任何想法?

解决方法

如果将recipes_path替换为recipe_path,那应该可以工作.

如果你看看耙子路线的输出,你应该看到像:

recipes GET /recipes(.:format) {:controller=>"recipes",:action=>"index"}
        POST /recipes(.:format) {:controller=>"recipes",:action=>"create"}

这是一个线索,对于创建操作的URL帮助器(“recipes_path”)由最后使用_path的控制器名称组成,使用:method => :岗位.使用相同的路径:method => :get(这是默认值)映射到索引操作.

记住如果Javascript被禁用,这将不起作用,因为Rails实际上是添加一个创建表单来执行POST的on_click处理程序.删除链接与:confirm选项相同.

猜你在找的Ruby相关文章