为什么我一直收到这个错误:未定义的方法new_message_path

时间:2012-05-04 03:28:29

标签: ruby-on-rails ruby

所以我在rails app上做了一个快速的ruby(railstutorial twitter clone)。我的源代码与https://github.com/railstutorial/sample_app_2nd_ed相同。

然后我尝试使用http://railscasts.com/episodes/262-trees-with-ancestry?view=asciicast添加对邮件的回复。我的评论是在BigBoy1337的底部。这就是它所说的:

我不断收到错误

undefined method `new_message_path'

这是app/views/messages/_messages.html.erb

<%= link_to "Reply", new_message_path(:parent_id => message) %> 
<% if current_user?(message.user) %>
<%= link_to "delete", message, method: :delete,
                     confirm: "You sure?",
                     title: message.content %>
<% end %>

知道在哪里定义new_message_path吗?我尝试添加

def new_message_path
end
app/controllers/message/controllers

中的

......但它不起作用。我已下载源代码(https://github.com/BigBoy1337/railscasts-episodes/tree/master/episode-262/messenger-after),这有效!但我无法找到他们定义new_message_path的位置,但它确实有效。为什么它适用于他们,我怎样才能让它为我工作?

2 个答案:

答案 0 :(得分:1)

这是一条资源路线。尝试将以下内容添加到routes.rb:

resources :messages

另外,请阅读:http://guides.rubyonrails.org/routing.html

答案 1 :(得分:1)

new_message_pathroutes.rb中定义。

寻找这一行:

resources :messages

阅读this以了解铁路路由。