Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails+;FriendlyId gem+;作为可供选择的宝石-获取Heroku错误_Ruby On Rails_Ruby_Friendly Id - Fatal编程技术网

Ruby on rails RubyonRails+;FriendlyId gem+;作为可供选择的宝石-获取Heroku错误

Ruby on rails RubyonRails+;FriendlyId gem+;作为可供选择的宝石-获取Heroku错误,ruby-on-rails,ruby,friendly-id,Ruby On Rails,Ruby,Friendly Id,在我的索引页面中,我将以下内容作为设置Acts_as_votable gem的一部分 <%= link_to like_bike_path(bike), method: :put, class: "btn btn-default" do %> 在Localhost:3000上工作,但Heroku日志告诉我ActionView::Template::Error(未定义的方法slug'for##app/models/bike.rb 类Bike

在我的索引页面中,我将以下内容作为设置Acts_as_votable gem的一部分

<%= link_to like_bike_path(bike), method: :put, class: "btn btn-default" do %>
在Localhost:3000上工作,但Heroku日志告诉我
ActionView::Template::Error(未定义的方法slug'for#
#app/models/bike.rb
类Bike
这将允许使用
slug
,而无需更改ActiveRecord中的默认模式…(
@bike=bike.find params[:id]

--

关于您的
heroku
错误,这意味着您尚未迁移数据库(其列中不包括
slug

您需要确保运行heroku run rake db:migrate,并确保保存了所有
@bike
记录(以便填充
slug
列)。

\app/models/bike.rb 类Bike
这将允许使用
slug
,而无需更改ActiveRecord中的默认模式…(
@bike=bike.find params[:id]

--

关于您的
heroku
错误,这意味着您尚未迁移数据库(其列中不包括
slug


您需要确保运行了
heroku run rake db:migrate
,并确保保存了所有
@bike
记录(因此填充了
slug
列).

嗨,戴夫!你能澄清什么地方出了问题吗?什么地方出了问题?因为acts\u as\u votable更多地是关于模型的,我想like\u bike\u path只是普通的轨道路线。嗨@kimrgrey!为没有澄清错误表示歉意。谢谢你的后续问题。我想我解决了问题。仍在验证。修复工作正在进行将@bike=bike.friendly.find(bike\u id)更改为我以前拥有的:bike=bike.find\u by\u id(bike\u id)在自行车控制器中。所以我认为问题只是到您的点的rails路线。最初的错误是推到Heroku失败。太好了!我作为frienldy_的维护者之一,很高兴听到我们的软件对您有用;-)顺便说一句,您可以使用module:finders调用类似bike.find(slug)的东西代替自行车。友好。找到(鼻涕虫)。它可以解决cancancan和其他库可能出现的一些问题,这些库希望使用id为resource.Hi的simple find搜索资源。似乎可以在localhost:3000上运行,但Heroku正在窒息。Heroku日志告诉我“ActionView::Template::Error”(为#嗨,戴夫!你能澄清一下什么地方出了问题吗?什么地方出了问题?因为acts#u as#u votable更多地是关于模型的,我想like#u bike#u path只是普通的轨道路线。嗨@kimrgrey!为没有澄清错误表示歉意。谢谢你的后续问题。我想我解决了这个问题。Still正在验证。修复方法是将@bike=bike.friendly.find(bike\u id)更改为我以前拥有的:bike=bike.find\u by\u id(bike\u id)在自行车控制器中。所以我认为问题只是到您的点的rails路线。最初的错误是推到Heroku失败。太好了!我作为frienldy_的维护者之一,很高兴听到我们的软件对您有用;-)顺便说一句,您可以使用module:finders调用类似bike.find(slug)的东西代替Bike.friendly.find(slug)。它可以解决cancancan和其他库可能出现的一些问题,这些库希望使用id为resource的简单查找来搜索资源。再次您好@kimrgrey。似乎可以在localhost:3000上工作,但Heroku被阻塞了。Heroku日志告诉我“ActionView::Template::Error”(未定义的方法'slug'for#谢谢,@Rich!我确保我有:slug-in-params
bike\u-params=params.require(:bike).permit(:name,:description,:image,:slug)
,我做了一个
heroku运行rake-db:migrate
。修复了!谢谢,@Rich!我确保我有:slug-in-in-params
bike\u-params=params.require(:bike)。允许(:name,:description,:image,:slug)
我做了一个
heroku运行rakedb:migrate
。修复了!
like_friendly.find_path
#app/models/bike.rb
class Bike < ActiveRecord::Base
   extend FriendlyId
   friendly_id :column, use: [:finders, :slugged]
end