所以我创建了一个名为路线类似如下:的Rails 3.0路由问题
match 'deactivate/:id' => 'events#deactivateEvent', :constraints => {:id => /\d+/}, :via => [:get, :post]
在我看来,我有这行代码:
<%= link_to 'Deactivate', deactivate_path(@event.id) %>
现在我得到以下错误: NoMethodError在活动#显示
显示C:/Users/redbush/Desktop/ticket/app/views/events/show.html.erb其中线#33提出:
未定义的方法`deactivate_path”为#<#:0x817f050>
提取的源(左右线#33):
30: <% end %>
31:
32: <% if @event.approval && [email protected] && @event.active && @event.sales_start < Time.now %>
33: <%= link_to 'Deactivate', deactivate_path(@event.id) %>
34: <% end %>
所以我为什么这是行不通的真糊涂。
任何想法?
更好没有期末:) +1(相同)答案虽然 – apneadiving
伟大的工作。手动是什么意思?例如,我很困惑,因为这样可以很好地匹配'home'=>'pages#index',:via =>:获得 – Brian
当你使用类似'resource:posts'的东西时,它会自动创建'posts_path','edit_post_path '等等。但是当你使用'match'语句时,Rails不会自动的知道你想要使用什么'xxxxx_path'名字。 –