在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。我也尝试将路由从集合更改为成员 - 甚至将其从任何集合/成员块中取出。这可能是什么问题?
答案 0 :(得分:1)
尝试使用inbox_conversations_path
或inbox_conversations_url
=link_to 'Inbox', inbox_conversations_path, :id => 'load-inbox', :class => 'message-control-highlight', :remote => true
答案 1 :(得分:1)
您需要在路线中添加_path
或_url
,例如
= link_to 'Inbox', inbox_conversations_path
有关所有详细信息,请参阅完整的Rails路由指南: