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