【发布时间】:2011-07-04 11:23:59
【问题描述】:
我在堆栈上看到了一些类似的问题,但我认为这不是重复的,因为我得到的每个答案都是针对一个潜在问题的。
我会保持简单。我想知道如何点击一个链接,让它把用户带到一个页面,但从另一个页面执行一个 def。这是在一个网络爬虫的 Rails 应用程序中,我认为这很简单,但对我来说很讨厌。
目前我有:
<td><%= link_to 'Crawl!', crawl_path :controller => :crawl, :action => :crawl %>
这会在爬虫完成运行后将用户带到爬虫的索引页面。 我想做的是将它们重定向到不同的页面。即jobs_path,它显示了爬虫站点和状态的列表(这工作正常,我只想将它包括在内)。如果我这样尝试:
<td><%= link_to 'Crawl!', jobs_path, :controller => :crawl, :action => :crawl %>
用户被定向到作业页面,但爬虫脚本从未运行,因此作业列表从未更新。为了记录,每个工作只是一个 url 和它所在的深度。
这只是一个语法错误还是我离题很远?
任何帮助表示赞赏。
【问题讨论】:
-
附注。如何从这样的记录中删除。 @jobs.delete?
-
在您的控制器
destroy中您将执行@jobs = Job.find(params[:id]);@jobs.destroy操作。你可以把它放在两行上,然后去掉;。你需要一个合适的link_to帮助器来指向销毁方法,即<%= link_to "Delete", job_path(job), :confirm => "Are you sure?", :method=>:delete %>
标签: ruby-on-rails syntax controller web-crawler link-to