0

ルート.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_pathまたはを使用してみてくださいinbox_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 に答える