Ruby on rails 重定向到不工作

Ruby on rails 重定向到不工作,ruby-on-rails,Ruby On Rails,我有一个关于构建用于放置广告的web应用程序的教程(使用Rails 4.2.6,但这本书是关于旧版本编写的);创建操作的思想是在创建新的添加页面后将用户重定向到该页面。书中建议的代码如下所示: def create @ad = Ad.new(ad_params) @ad.save redirect_to "/ads/#{ @ad.id }" end 不幸的是,它不会重定向到任何地方-用户在恭喜页面上被绊倒: <h1>Ad created!</h1>

我有一个关于构建用于放置广告的web应用程序的教程(使用Rails 4.2.6,但这本书是关于旧版本编写的);创建操作的思想是在创建新的添加页面后将用户重定向到该页面。书中建议的代码如下所示:

def create
    @ad = Ad.new(ad_params)
    @ad.save
    redirect_to "/ads/#{ @ad.id }"
end
不幸的是,它不会重定向到任何地方-用户在恭喜页面上被绊倒:

<h1>Ad created!</h1>
view your ad <a href="ads/<%= @ad.id %>">here</a>
广告创建!
查看您的广告
我的重定向代码有什么问题?为什么要在一个地方使用{@object}-构造,而在另一个地方使用-?

尝试使用

def create
    @ad = Ad.new(ad_params)
    @ad.save
    redirect_to ads_path(@ad)
end

您是否为
/ads/#{@ad.id}
定义了路线?您的
bundle exec rake routes | grep/ads
?@sa77,
~/mebay$bundle exec rake routes | grep/ads GET/ads(:format)ads#index POST/ads(:format)ads#新建(ad GET/ads(:format)ads#新建#ad GET/ads/:id(:format)ads#显示ads#新建POST/ads(:format)广告#新广告#创建POST/ads/create(:format)ads#创建GET/ads(:format)ads#索引GET/ads/:id(:format)ads#show
好吧,书中没有关于定义新路线的内容。它是电子书吗?如果是的话,你能粘贴链接吗?不,是旧式纸质书-头先轨,它们的工作代码放在页面底部的-第3章存档中。如果你得到那本书的电子版(我不确定我是否可以使用非法内容的链接,但你可以在几秒钟内用谷歌搜索它)-你需要转到128页。现在重定向到ads_路径(/ads/)-有没有办法精确重定向到/ads/@ad.id?如果你想让它发送到show action,你可以使用重定向到ad_路径(@ad)