我试图添加一个新的链接添加一个新的链接,以一种形式的连接表的链接给错说了,没有路,我使用Rails APIRails的索引页
<%= link_to("Add New Alarm/List", {:action => 'new_alarm', :controller =>'alarms'}, :class => 'action new') %>
任何帮助,请 在此先感谢
我试图添加一个新的链接添加一个新的链接,以一种形式的连接表的链接给错说了,没有路,我使用Rails APIRails的索引页
<%= link_to("Add New Alarm/List", {:action => 'new_alarm', :controller =>'alarms'}, :class => 'action new') %>
任何帮助,请 在此先感谢
,我认为你应该能够使用的警报路线,为您提供在你的路由文件中有resources :alarms
。要检查您可以使用的路线,您可以运行rake routes
。
<%= link_to "Add New Alarm/List", new_alarm_path, :class => 'action new' %>
编辑:
resources :alarms
通过使用您的alarms_controller的new
方法和new.html.erb
文件在你的报警/文件夹设置了new_alarm_path。如果你在你的控制器中定义了新的方法,并且新的html文件被称为new.html.erb,如果你使用{:action => 'new'
非常感谢您的回答,但是在何处定义new_alarm_path指向控制器中的新操作, 以及如果我想在控制器中创建新定义,例如对于新“新”方法,例如“ new2“ – peterateftawfik
当你设置资源:报警时,它应该自动设置new_alarm_path的路由,如果你想使用其他方法的链接(需要在报警控制器中定义为'new_alarm'),你可以使用' %= link_to(“Add new”,{:action =>'new_alarm',:controller =>'alarms'})%>'尽管您应该尝试使用默认路由(即new_alarm_path用于新方法),你为什么想要第二个新方法? – Rixcy
例如,我想创建一个新的页面,例如,添加一个报警到一个列表,但当url是http:// localhost:3000/alarms/new2,系统处理该url,就好像它是显示和想找到id为'new2'的警报,并且当它得到一个错误,它找不到这个ID – peterateftawfik
你也可以粘贴错误吗? –