Ruby on rails RubyonRails:我能做一个";链接到;调用创建操作?
如何正确地从链接_调用创建操作?我正在使用REST(map.resources:recipes)。以下是创建操作: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
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。使用
:确认选项删除链接也是如此。感谢您的精彩解释!非常感谢!:)