gpt4 book ai didi

ruby-on-rails - 不使用整数作为 id 时生成 URL?

转载 作者:行者123 更新时间:2023-12-03 15:48:55 24 4
gpt4 key购买 nike

所以我正在构建一个博客引擎,它具有/articles/then-the-article-permalink 作为 URL 结构。我需要有 prev 和 next 链接,它们将通过 pub_date 跳转到下一篇文章,我的代码如下所示:

在我的文章中#show

@article = Article.find_by_permalink(params[:id])
@prev_article = Article.find(:first, :conditions => [ "pub_date < ?", @article.pub_date])
@next_article = Article.find(:first, :conditions => [ "pub_date > ?", @article.pub_date])

在我的 show.html.erb
<%= link_to "Next", article_path(@next_article) %>
<%= link_to 'Prev', article_path(@prev_article) %>

在我的文章模型中,我有这个:
def to_param
self.permalink
end

我得到的具体错误信息是:
article_url failed to generate from {:action=>"show", :controller=>"articles", :id=>nil}, expected: {:action=>"show", :controller=>"articles"}, diff: {:id=>nil}

没有 prev 和 next 一切正常,但我不知道为什么这不起作用。有人想帮忙吗?

最佳答案

解决了我自己的问题,因为我只有 2 条记录,所以总是找不到零记录。我将 View 中的代码更改为:

<%= link_to "Next", article_path(@next_article) if !@next_article.nil? %>
<%= link_to 'Prev', article_path(@prev_article) if !@prev_article.nil? %>

愚蠢而夸张的问题,但我想我会为将来遇到此问题的任何人添加解决方案。

关于ruby-on-rails - 不使用整数作为 id 时生成 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2568871/

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