0

路线

   resources :links, only: [:new, :create, :index, :destroy]

链接控制器

class LinksController < ApplicationController
before_filter :signed_in_user

def new
@user = current_user
@tags = @user.tags
@link = Link.new
end

def create
@link = Link.new(params[:link])
if @link.save
  flash[:success] = "Link created!"
  redirect_to root_url
else
  render 'new'
end
end

def index
@links = Link.paginate(page: params[:page])
end

def destroy
@link.destroy
redirect_to links_path
end

end

html.erb

<li>
<span class="location_info"> From Tag: <%= link.from_tag.ref %></span>
<span class="location_info"> To Tag: <%= link.to_tag.ref %></span>
<span class="location_info"> Cost: <%= link.value %>
| <%= link_to "delete", link, method: :delete,
                                 data: { confirm: "You sure?" } %></span>
</li>

为什么我会收到此错误?

grep

4

1 回答 1

0

您在 github 上的代码与您在此处的代码不同,但是您不需要先在destroy操作中找到链接然后将其销毁吗?现在它调用destroy一个空@link变量。

由于链接和路线看起来不错,我猜你应该有这样的破坏动作:

def destroy
  @link= Link.find(params[:id])
  @link.destroy
  redirect_to links_path
end

除非您在应用程序中的某个位置找到了 @link 对象的过滤器。在 github 上更新您的代码,以便我可以下载它并将其安装在我的计算机上,以便在上述解决方案不起作用时进行更多调查。

于 2013-03-12T22:59:11.150 回答