7

JavaScript リスナーから変数 (id) を渡すにはどうすればよいですか。

Gmaps.map.callback = function() { 
    ...
    ...
    google.maps.event.addListener(marker, 'click', function() {
      var id = this.currentMarker;
      alert(id); 
    });
   }
  }

ruby-on-railsコントローラーのインスタンス変数(@foo)へ

def create
  @foo = ???
  ...
end

ビュー (フォーム) で関係を正しく作成するには:

<%= form_for user.relationships.build(:followed_id => @foo.id) do |f|    %>
<div><%= f.hidden_field :followed_id %></div>
<div class="actions"><%= f.submit "Follow" %></div>
<% end %>

ありがとう!

4

1 に答える 1

6

私が正しく理解している場合、これを行う良い方法は、AJAX を使用して ID をアクションに送信し、アクションを使用してフォームをレンダリングすることです。

これは、JavaScript では次のようになります。

jQuery.ajax({
  data: 'id=' + id,
  dataType: 'script',
  type: 'post',
  url: "/controller/action"
});

次のルートが必要です。

post 'controller/action/:id' => 'controller#action'

次に、アクションでその id を取得し、フォームを次のようにレンダリングできます。

def action
  @user = User.relationships.build(:followed_id => params[:id])
  render :viewname, :layout => false
end

次に、 @user のフォームを部分的なものなどで作成できます

<%= form_for @user do |f| %>

そこに詳細を入力する必要がありますが、それでかなり近づくはずです。

于 2012-04-10T01:31:50.470 に答える