sjs*_*jsc 19 ruby ruby-on-rails
如何从link_to正确调用create动作?我正在使用REST(map.resources:recipes).这是创建动作:
def create
recipe = Recipe.create(:name => "French fries")
redirect_to recipe
end
Run Code Online (Sandbox Code Playgroud)
例如,我认为这样的事情可能有效:
<%= link_to "Create a default recipe", recipe_path, :method => :post %>
Run Code Online (Sandbox Code Playgroud)
我不确定这是否是推荐的(甚至是正确的)方式.任何的想法?
zet*_*tic 29
如果你替换recipes_path,这应该工作recipe_path.
如果你看一下输出rake routes,你会看到类似的东西:
recipes GET /recipes(.:format) {:controller=>"recipes", :action=>"index"}
POST /recipes(.:format) {:controller=>"recipes", :action=>"create"}
Run Code Online (Sandbox Code Playgroud)
这是一个线索,创建操作的URL帮助程序("recipes_path")由控制器名称组成,_path最后使用:method => :post.使用相同的路径:method => :get(默认值)映射到index操作.
请记住,如果禁用Javascript,这将无效,因为Rails实际上是添加了一个on_click处理程序,该处理程序创建了一个表单来执行POST.删除链接与:confirm选项相同.
| 归档时间: |
|
| 查看次数: |
11932 次 |
| 最近记录: |