Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery&;Rails 3:链接_以远程编辑操作_Jquery_Ruby On Rails 3_Link To - Fatal编程技术网

Jquery&;Rails 3:链接_以远程编辑操作

Jquery&;Rails 3:链接_以远程编辑操作,jquery,ruby-on-rails-3,link-to,Jquery,Ruby On Rails 3,Link To,我有一个讨论控制器,我希望有一个远程链接的编辑操作,允许AJAX调用在页面上呈现部分内容(而不是重新路由到一个全新的“编辑”页面) 我的问题是,我已经在控制器中设置了操作,并且所有文件(我认为)都是必需的。但是讨论显示页面上的链接将浏览器重定向到一个新页面,而不是链接到控制器上的操作和相应的edit.js.erb文件。我想知道我的代码哪里出错了 以下是讨论控制器的代码: class DiscussionsController < ApplicationController incl

我有一个讨论控制器,我希望有一个远程链接的编辑操作,允许AJAX调用在页面上呈现部分内容(而不是重新路由到一个全新的“编辑”页面)

我的问题是,我已经在控制器中设置了操作,并且所有文件(我认为)都是必需的。但是讨论显示页面上的链接将浏览器重定向到一个新页面,而不是链接到控制器上的操作和相应的edit.js.erb文件。我想知道我的代码哪里出错了

以下是讨论控制器的代码:

 class DiscussionsController < ApplicationController
   include DiscussionsHelper

   def create
     ...
   end

   def show 
      ...
   end

   def edit
     respond_to do | format |  
        format.js
     end
   end 
 end
我在展示页面上的链接是:

 <div class="discussion_overview">
   <h1><%= @discussion.title %></h1>
   <div class="edit_disc">
<%= link_to "Edit", :url => {:action => "edit", :id => @discussion}, :remote => true %>
   </div><br>
你知道我做错了什么吗

将url=>{}更新为:

 <%= link_to "Edit", :action => "edit", :id => @discussion, :remote => true %>

这不是对编辑操作进行AJAX调用。

而是链接到行中的语法问题

<%= link_to "Edit", {:action => "edit", :id => @discussion}, :remote => true %>
“编辑”,:id=>@discussion},:remote=>true%>

link_to()方法中的第二个参数是url。通过在前面加上
:url=>{}
您的url哈希就在另一个哈希中。只需删除
:url=>
:)

谢谢您的输入。我不认为是这样的-我删除了:url=>{},但是现在重定向仍然存在,在本例中是指向,它不是一个页面。。有什么想法吗?你确定你在用Rails 3吗?啊,我明白了。。。这仍然是一个语法问题。。。删除“:url=>”,但保留“{}”。注意我的答案和你的更新之间的语法差异。“:remote=>true”需要在一个单独的hash.yup中-也可以使用true%>works。谢谢你的帮助!嘿,tybro,接下来的问题——对于自定义操作,例如
 <%= link_to "Edit", :action => "edit", :id => @discussion, :remote => true %>
http://localhost:3000/discussions/54/edit?remote=true
<%= link_to "Edit", {:action => "edit", :id => @discussion}, :remote => true %>