将 JavaScript 变量传递给 ruby-on-rails 控制器
Passing JavaScript variable to ruby-on-rails controller
如何从JavaScript侦听器传递变量(id):
Gmaps.map.callback = function() {
...
...
google.maps.event.addListener(marker, 'click', function() {
var id = this.currentMarker;
alert(id);
});
}
}
到轨道上的红宝石控制器中的实例变量 (@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 %>
谢谢!
如果我理解正确,一个好方法是使用 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| %>
你必须在那里填写细节,但这应该让你非常接近。
相关文章:
- Ruby on Rails javascript getting truncated
- 在ruby on rails中使用jquery getJSON获取数据
- Ruby On Rails应用程序与angularJS关于AJAX
- ruby on rails:用于不同页面的选项卡
- Ruby On Rails Ajax 提交提交两次
- Ruby on Rails - 引导旋转木马按钮不起作用
- 按索引迭代数组时,单击提交按钮Ruby on Rails
- 如何将.js从视图移动到单独的资产 - Ruby On Rails
- 如何在Ruby on Rails中集成Arbor.js
- geolocation with javascript and ruby on rails
- Ruby on Rails 4:在 Rails Web 应用程序中添加 Javascript 文件时遇到问题
- Window.onload 未被调用 [Ruby on Rails] [Vanilla Javascript]
- 如何在Ruby on Rails会话过期时重新加载或刷新页面
- 重命名上传的文件Ruby On Rails
- Ruby on Rails - grouped_collection_select error
- 带有jquery.min.map的Ruby on Rails:未能加载资源状态406
- Ruby on rails-更新ajax的PUT方法
- Heroku Ruby on Rails应用程序don't更新公共/资产目录中的未消化资产
- Ruby on rails javascript没有;无法正确加载(HTML5模板)
- 谷歌图表API与Ruby on Rails