Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails:我能做一个";链接到;调用创建操作?_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails RubyonRails:我能做一个";链接到;调用创建操作?

Ruby on rails RubyonRails:我能做一个";链接到;调用创建操作?,ruby-on-rails,ruby,Ruby On Rails,Ruby,如何正确地从链接_调用创建操作?我正在使用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 %> :pos

如何正确地从链接_调用创建操作?我正在使用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 %>
:post%>

我不确定这是不是一个推荐的(甚至是正确的)方法。有什么想法吗?

如果你用
配方路径
代替
配方路径
,那就行了

如果查看
rake routes
的输出,您应该会看到如下内容:

recipes GET /recipes(.:format) {:controller=>"recipes", :action=>"index"}
        POST /recipes(.:format) {:controller=>"recipes", :action=>"create"}
这是一条线索,用于创建操作的URL帮助器(“recipes_path”)是由控制器名称组成的,控制器名称的末尾带有
\u path
,使用
:method=>:post
。使用
:method=>:get
(默认值)的相同路径映射到
索引
操作


请记住,如果禁用Javascript,这将不起作用,因为Rails实际上添加了一个on_click处理程序,该处理程序创建了一个表单来执行POST。使用
:确认
选项删除链接也是如此。

感谢您的精彩解释!非常感谢!:)