1

所以我在 Rails 应用程序(railstutorial twitter 克隆)上做了一个快速的 ruby​​。我的源代码与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 的位置,但它有效。为什么它对他们有用,我怎样才能让它对我有用?

4

2 回答 2

1

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

resources :messages

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

于 2012-05-04T03:32:35.660 回答
1

new_message_path中定义routes.rb

寻找这一行:

resources :messages

阅读本文以了解 Rails 路由。

于 2012-05-04T03:32:55.717 回答