Tag: ajax

Rails 3.2.2不执行rjs

我正在阅读使用Rails第4版的实用敏捷Web开发这本书,但我正在使用Rails 3.2.2而不是书中推荐的3.0.5: ~$ ruby -v ruby 1.9.3p125 (2012-02-16) [i686-linux] ~$ rails -v Rails 3.2.2 我在包含AJAX重绘购物车而不重新加载页面时陷入困境。 这是line_items_controller.rb中的create动作: def create @cart = current_cart product = Product.find(params[:product_id]) @line_item = @cart.add_product(product.id) respond_to do |format| if @line_item.save format.html { redirect_to(store_url) } format.js format.json { render json: @line_item, status: :created, location: @line_item } else format.html { render action: “new” } format.json […]

Rails check_box_tag如何在ajaxily检查时传递值

在我的Task模型的索引页面上,我想显示一个对应于我的Task数据库表中的boolean字段“complete”的每一行的复选框。 目前我的代码进入方法“完成”,但它不包含用户刚刚执行的复选框的值(即,如果他们只是选中了框,则它不会传递给我的“完整”方法)。 我如何传递用户刚刚执行的值 – 是选中还是未选中? /views/tasks/index.html.erb {:remote => true, :url => url_for( :action => ‘complete’, :id => task.id, :complete => task.complete ), :method => :put}, :class => ‘input-large’ %> 器/控制器/ tasks_controller#完整 # PUT /complete/1 def complete @task = Task.find(params[:id]) p “inside complete” p “complete = #{params[:complete]}” @task.complete = if @task.update_attributes(params[:task]) p “inside update” render :text […]

使用Ruby On Rails在AJAX中获得星级评分

我认为acts_as_rateable似乎已经过时了,并且不支持AJAX。 我正在寻找一个简单的“五星级”评级系统:是否有任何插件或教程可以提供帮助?

如何在Rails 4 App中启用CORS

我正要把我的头发拉出来…我从早上开始尝试在这个Rails应用程序中启用CORS,它只是不起作用。 我试过这个 ,使用Rack Cors Gem , 这个答案和这篇文章都没有成功。 有人能指出我正确的方向吗? 这是我的js: var req = new XMLHttpRequest(); if (‘withCredentials’ in req) { // req.open(‘GET’, “https://api.github.com/users/mralexgray/repos”, true); req.open(‘GET’, “http://www.postcoder.lc/postcodes/” + value, true); // Just like regular ol’ XHR req.onreadystatechange = function() { if (req.readyState === 4) { if (req.status >= 200 && req.status < 400) { // JSON.parse(req.responseText) etc. […]

从rails中的控制器渲染部分

我有一个表单,通过remote => true向DB添加行。 然后我想将新数据附加到表中,但无法获得正确的视图来呈现。 截至目前,它正在为新条目呈现整个show.html.erb页面,但我想布置一个最小版本作为一个添加。 有没有一种快速方法可以告诉我的控制器在插入数据库后要呈现什么视图? 我想渲染我的部分名为_newly_added.html.erb 我的控制器 def new @task = Task.new render :partial => “/tasks/newly_added”, :locals => { :t => @task } end 谢谢!! 编辑我认为我需要的只是另一种“展示”视图。 我发现我需要改变的方法实际上是这样的: def create @task = Task.new(params[:task]) respond_to do |format| if @task.save format.html { redirect_to @task, notice: ‘Task was successfully created.’ } format.json { render json: @task, status: :created, […]

控制器无法检测到Ajax请求

我正在使用simple_form gem并生成我指定remote:true选项的表单,如下所示: 因此,表单的输出html是以下片段: … 在我检查时,使用标准的form_for帮助程序是在使用remote:true选项时将data-remote =’true’添加到表单中。 从生成的html中可以看出,当我使用simple_form gem时,也有这样的属性。 所以,在我的控制器中我有: def create @webinar = Webinar.new(params[:webinar]) respond_to do |format| if @webinar.save format.html { redirect_to @webinar, notice: ‘Webinar was successfully created.’ } format.js format.json { render json: @webinar, status: :created, location: @webinar } else format.html { render action: “new” } format.json { render json: @webinar.errors, status: :unprocessable_entity } […]

Rails 2到Rails 3:使用link_to而不是link_to_remote(包括远程和更新)

我敢肯定,这是一个快速简单的答案。 我正在将Rails项目从版本2升级到版本3,并根据Rails 3更新用link_to替换link_to_remote的加载。 即使是这样简单的事情: :get_time}, :remote=>true, :update=>’current_time’ %> 似乎没有用。 请求(使用get方法)正常,渲染的html是: Check Time Routes.rb条目: get “monitoring/get_time” 正如我所说,我确信这对我来说是一个非常明显的问题!

就像Ruby on Rails中的按钮Ajax一样

我有一个Ruby on Rails项目,其中包括模型User和模型Content等。 我希望用户能够“喜欢”一个内容,并且我已经使用acts_as_votable gem完成了这项工作。 目前,喜欢系统正在运行,但每次按下喜欢按钮(link_to)时我都会刷新页面。 我想使用Ajax来做这件事,以便更新按钮和喜欢的计数器,而无需刷新页面。 在我的Content -> Show视图中,这就是我所拥有的: · users like this Content控制器这样做喜欢/不喜欢: def like @content = Content.find(params[:id]) @content.liked_by current_user redirect_to @content end def dislike @content = Content.find(params[:id]) @content.disliked_by current_user redirect_to @content end 在我的routes.rb文件中,这就是我所拥有的: resources :contents do member do put “like”, to: “contents#like” put “dislike”, to: “contents#dislike” end end 正如我所说,喜欢系统工作正常,但在用户按下之后不会更新喜欢的计数器或类似按钮。 相反,为了欺骗它,我在控制器动作中调用redirect_to @content 。 […]