1

JSrailsコントローラーにparamsを渡すために使用する必要があります。

def page
  @select = Firstpage.where( :pid=>params[:par_id])
  respond_to do |format|
   format.html # page.html.erb
   format.json { render json: @select }
  end
end

js.coffeeコード:

fetchselect=(val) ->
  $.getJSON('firstpages_controller.rb', par_id:val )

$('.homeNav').find('.unactive').click ->
  id = $(this).attr('id')
  fetchselect(id)
4

1 に答える 1

0

コーヒースクリプトはサーバー側ですか? クライアントに提供されている場合は、コントローラーに直接リクエストを送信するのではなく、Rails サーバーが適切なコントローラーに解決する必要があるリソース リクエストを送信する必要があります。

詳しく説明すると、サーバー上でクライアント用の Rails リンクを生成する場合、"http://base_path/pages" の効果を持つ URL を生成する pages_path の効果が必要になるでしょう。これは Rails にとって非常に基本的なことです。ユーザーがアクセスする各オブジェクトには RESTful な表現があり、簡単に言えば、それを識別するための URL があります。リソースの JSON 表現も同じです。JSON を取得するには、getJSON に渡す URL を同じようにフォーマットする必要があります。クライアントに関する限り、「pages_controller」は存在しません。これは、クライアントが直接アクセスできないバックグラウンドの詳細です。

于 2012-08-31T21:02:17.837 に答える