gpt4 book ai didi

Jquery 和 Rails 3 : Link_to Edit Action Remotely

转载 作者:行者123 更新时间:2023-12-01 05:04:56 26 4
gpt4 key购买 nike

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

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

这是讨论 Controller 的代码:

 class DiscussionsController < ApplicationController
include DiscussionsHelper

def create
...
end

def show
...
end

def edit
respond_to do | format |
format.js
end
end
end

我希望将其称为 js.erb 文件 edit.js.erb (目前我只填充了一个警报 - 一旦此链接正确,我打算用 jquery 代码填充它以呈现编辑部分我想要:

 alert("hello");

我在节目页面上放置的link_to是:

 <div class="discussion_overview">
<h1><%= @discussion.title %></h1>
<div class="edit_disc">
<%= link_to "Edit", :url => {:action => "edit", :id => @discussion}, :remote => true %>
</div><br>

正如我所说,我认为这会调用 edit.js.erb 文件,然后我可以用适当的代码填充该文件。但是,link_to 链接到:

 http://localhost:3000/discussions/54?remote=true&url[action]=edit&url[id]=54

关于我做错了什么有什么想法吗?

更新删除 url => {} 为:

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

没有解决解决方案,只是将重定向更改为:

http://localhost:3000/discussions/54/edit?remote=true

而不是对编辑操作进行 AJAX 调用..

最佳答案

这只是 link_to 行中的语法问题。

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

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

关于Jquery 和 Rails 3 : Link_to Edit Action Remotely,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6735099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com