新手问题 自定义 Layout 后 Delete 成了 Show

xautjzd · 2013年08月05日 · 最后由 xautjzd 回复于 2013年08月06日 · 3320 次阅读

写了一个 posts 控制器,里面有 CRUD,页面默认用的是 application.html.erb 模板页,CRUD 功能正常。当我在 app/views/layouts/下定义 posts.html.erb 后,posts 的相应页面的 layout 确实也改变了,但是 delete 功能却成了 show,查看 webrick 下的请求,发现是 get 请求,而不是 delete,请问这是怎么回事呢?

layout:posts.html.erb 内容如下:

Hello,World!
<%= yield %>

你自定义的 layout 里直接或间接的 include jquery_ujs 了吗? Chrome 里 View Page Source 看看

直接点,代码挂 github

jquery 和 jquery_ujs 没引入

#1 楼 @cqpx 没有 include jquery,也没有间接包含,下面是我查看的源

Hello,world!
<h1>Listing Posts</h1>

<table>
    <tr>
        <th>Name</th>
        <th>Title</th>
        <th>Content</th>
        <th></th>
        <th></th>
        <ht></th>
    </tr>

        <tr>
            <td>xautjzd</td>
            <td>xautjzd</td>
            <td>xautjzd</td>
            <td><a href="/posts/2">Show</a></td>
            <td><a href="/posts/2/edit">Edit</a></td>
            <td><a data-confirm="确定?" data-method="delete" href="/posts/2" rel="nofollow">Delete</a></td>
        </tr>

<br/>
<a href="/posts/new">Create a new post</a>

自定义的模板里只有 Hello,world! 这句话

#2 楼 @Yujing_Z 这个例子没有什么功能,不好意思挂

@cqpx 这是应用默认的 application layout 的 source


<!DOCTYPE html>
<html>
<head>
  <title>Blog</title>
  <link data-turbolinks-track="true" href="/assets/application.css?body=1" media="all" rel="stylesheet" />
<link data-turbolinks-track="true" href="/assets/scaffolds.css?body=1" media="all" rel="stylesheet" />
<link data-turbolinks-track="true" href="/assets/users.css?body=1" media="all" rel="stylesheet" />
  <script data-turbolinks-track="true" src="/assets/jquery.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/jquery_ujs.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/turbolinks.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/users.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/application.js?body=1"></script>
  <meta content="authenticity_token" name="csrf-param" />
<meta content="spCOTtHNKdpxdlgPH9GMc4/tKqdrNB4+X0AUQI5Xy6Y=" name="csrf-token" />
</head>
<body>

<h1>Listing Posts</h1>

<table>
    <tr>
        <th>Name</th>
        <th>Title</th>
        <th>Content</th>
        <th></th>
        <th></th>
        <ht></th>
    </tr>

        <tr>
            <td>xautjzd</td>
            <td>xautjzd</td>
            <td>xautjzd</td>
            <td><a href="/posts/2">Show</a></td>
            <td><a href="/posts/2/edit">Edit</a></td>
            <td><a data-confirm="确定?" data-method="delete" href="/posts/2" rel="nofollow">Delete</a></td>
        </tr>

<br/>
<a href="/posts/new">Create a new post</a>


</body>
</html>
需要 登录 后方可回复, 如果你还没有账号请 注册新账号