1

私はレールに署名を持つメソッドを持っています:

def my_function(some_variable)

end

次のように jquery get 関数からメソッドを呼び出します。

$.get('/controller/my_function', {data: mydata}, function(){

    });

しかし、引数も送信する必要があるため、エラーが発生します。どうやってやるの?

4

2 に答える 2

0

コントローラーでアクションを定義し、そのアクションから関数を呼び出す必要があります

def my_action
  my_function(params[:data])
end

jquery スクリプトは my_action を呼び出します

$.get('/controller/my_action', {data: mydata}, function(){

    });
于 2013-06-30T13:21:55.737 に答える
0

@Henryが指摘したように-JavaScriptコードdata: xxxxでは、HTTPパラメーターがブラウザーからサーバー上のRailsコントローラーアクションに送信されるため、RailsはすべてのHTTPパラメーターをparamsハッシュに入れます。

var data = {
  first_name: "Joe",
  last_name: "Smith"
}
$.get('/controller/some_action', data, function() {
  // ...

サーバー上のparamsハッシュにあるものにアクセスします

def some_action
  logger.debug params.inspect
  # => { :first_name => "Joe", :last_name => "Smith", :action => "some_action" }

  user.first_name = params[:first_name]
  # ...
end
于 2013-06-30T16:46:00.810 に答える