1

ロードス島のルビーで動的ドロップダウンを構築しようとしています。画面には基本的に2つのドロップダウンがあり、ajaxを使用して、最初のドロップダウンで選択した値に応じて、データベースから2番目のドロップダウンの値を取得しています。ルビーの初心者で、ロードスのルビーでajaxを使用する方法の構文がわかりません。

私が使用しているJavaScriptコード...

<script>
$.post("/app/Settings/dropdown",
  {
    value:a
  },
  function(data){
     alert(data);
});
</script>

-----部分的なコントローラーコード

def dropdown
  @a = @params['value']
  puts @a;
  if @a.eql?"Auto"
    mystring="auto1|auto2|"
  else
    mystring="personal1|personal2|"
  end
end

ajax呼び出しを介してコントローラーに送信されるパラメーターを取得できます。私の質問は、コントローラーからそのajax呼び出しで機能するようにデータを送り返して、その情報を使用して動的ドロップダウンを作成する方法です。

4

1 に答える 1

0

renderコントローラーで使用して JSON を送り返すことができます。

def dropdown
  value = params[:value]
  if value == "Auto"
    @options = ["auto1", "auto2"]
  else
    @options = ["personal1", "personal2"]
  end
  render :json => @options
end

次に、JavaScript を使用して、受け取ったこのデータを使用してドロップダウンを更新します。

于 2013-01-08T12:20:13.223 に答える