0

メソッドへの 2 つの部分からなる引数を取得するのに問題がありますlink_to。そのうちの 1 つは Ruby メソッドで、もう 1 つはパラメーターです。

次のコードを使用すると:

<%= link_to "Sort by most active", school_course_path(current_school, :params => "by_most_active") %>

「文字列をハッシュに変換できません」というエラーが表示されます。params の構文に関してこの質問に従おうとしましたが、:params でエラーが発生する理由がわかりません。

ありがとう。

編集

追加のコンテキストを提供するために、次のネストされたルートを設定しました。

  resources :schools do
    resources :courses 
  end
4

4 に答える 4

1

course_controllerのshowメソッドにリンクしようとしているようです。パスヘルパーの2番目の引数としてコースオブジェクトを見逃していませんか?

于 2013-02-04T23:56:49.187 に答える
1

この:paramsオプションは、キーではなくハッシュを想定しているため、キーと値の両方を指定できます。のようなものが必要です:params=> { by_most_active: true }

于 2013-02-05T00:03:11.707 に答える
1

school_course_path最初の 2 つの引数として、学校とコースを期待する whichを使用しています。current_school を通過した後、コースを提供する必要があります。paramsのように別の名前のパーツも変更する必要がありますorder。したがって、link_toは次のようになります

school_course_path(current_school, course, order: 'by_most_active')

の最もアクティブなコースを取得しようとしている場合はcurrent_school、使用する必要がありますschool_courses_path

school_courses_path(current_school, order: 'by_most_active')
于 2013-02-05T00:24:50.240 に答える
-1

これを試して

<%= link_to "Sort by most active", school_course_path(:current_school => current_school, :params => "by_most_active") %>

と電話

params["current_school"] and current_school["by_most_active"]. 
于 2013-02-04T23:56:44.417 に答える