0

在 routes.rb 中:

resources :conversations, only: [:index, :show, :new, :create, :destroy] do
  collection do
    get :inbox
  end

在我的控制器中:

def inbox
  <stuff>
end

在我看来(使用haml):

=link_to 'Inbox', inbox_conversations, :id => 'load-inbox', :class => 'message-control-highlight', :remote => true

我在页面加载时收到以下错误:

undefined local variable or method `inbox_conversations' for #<#<Class:0x3d51470>:0x3d59198>

在我看来,如果我用“#”替换 inbox_conversations,我不会在页面加载时遇到任何错误。我尝试在 inbox_conversation 中附加可能的类,例如 current_user 和 current_user.mailbox。我还尝试将路由从集合更改为成员 - 甚至将其从任何集合/成员块中取出。这里可能是什么问题?

4

2 回答 2

1

尝试使用inbox_conversations_pathinbox_conversations_url

=link_to 'Inbox', inbox_conversations_path, :id => 'load-inbox', :class => 'message-control-highlight', :remote => true

于 2012-07-20T18:53:48.610 回答
1

您需要附加_path或添加_url到您的路线,例如

= link_to 'Inbox', inbox_conversations_path

有关所有详细信息,请参阅完整的 Rails 路由指南:

http://guides.rubyonrails.org/routing.html

于 2012-07-20T18:53:56.800 回答