我的Rails应用程序中有一个模型类别。根据rails RESTful Routes,我可以对我的routes.rb中定义resources: categories
的模型执行CRUD操作。
但是如何在我的视图中定义destroy path helper以执行DELETE
操作,就像编辑记录edit_category_path(@category)
一样。我试过这样的
destroy_category_path(@category)
但是收到错误
undefined method `destroy_category_path' for #<#<Class:0x00000005371298>:0x000000053734f8>
答案 0 :(得分:6)
路径与show动作('/categories/:id')完全相同,但您还需要指定DELETE
HTTP method:
button_to @category, method: :delete
请注意,使用具有破坏性/建设性操作的链接并不安全,因为机器人可能会访问这些链接。
答案 1 :(得分:0)
有一个用于删除的路径帮助程序,但是Rails默认未定义此路由。要激活帮助程序,您需要在route.rb文件中的资源丰富的路由中添加delete。
public class calculatorTest {
@Test
public void additionTest() throws MalformedURLException, InterruptedException {
DesktopOptions option = new DesktopOptions();
option.setApplicationPath("C:\\Windows\\System32\\calc.exe");
WiniumDriver driver = new WiniumDriver(new URL("http://localhost:9999") , option);
Thread.sleep(2000);
driver.findElement(By.name("Seven")).click();
driver.findElement(By.name("Plus")).click();
driver.findElement(By.name("Eight")).click();
driver.findElement(By.name("Equals")).click();
String output = driver.findElement(By.id("CalculatorResults")).getAttribute("Name");
System.out.println("Result is " + output);
assertEquals("Display is 15", output);
}
@Test
public void subtractionTest() throws MalformedURLException, InterruptedException {
DesktopOptions option = new DesktopOptions();
option.setApplicationPath("C:\\Windows\\System32\\calc.exe");
WiniumDriver driver = new WiniumDriver(new URL("http://localhost:9999") , option);
Thread.sleep(2000);
driver.findElement(By.name("Nine")).click();
driver.findElement(By.name("Minus")).click();
driver.findElement(By.name("Eight")).click();
driver.findElement(By.name("Equals")).click();
String output = driver.findElement(By.id("CalculatorResults")).getAttribute("Name");
System.out.println("Result is " + output);
}
完成后,您应该可以使用resources :categories do
member do
get :delete
end
end
。
然后在类别中,您可以通过删除操作对对象进行销毁。