Ruby on rails 访问资源时出错:";缺少参数或值为空:article";
我想将整个对象传递给我的show action,以便更新其Ruby on rails 访问资源时出错:";缺少参数或值为空:article";,ruby-on-rails,Ruby On Rails,我想将整个对象传递给我的show action,以便更新其已查看的字段,但由于某些原因,我一直收到此错误 为什么呢 index.html.erb <td><%= link_to 'Show', article_path(article) %></td> 在代码中有以下行 params.require(:article).permit! 如果params散列不包含article散列,则require方法调用将引发您遇到的错误 从错误页面可以看到,当前参数为
已查看的
字段,但由于某些原因,我一直收到此错误
为什么呢
index.html.erb
<td><%= link_to 'Show', article_path(article) %></td>
在代码中有以下行
params.require(:article).permit!
如果params
散列不包含article
散列,则require
方法调用将引发您遇到的错误
从错误页面可以看到,当前参数为
{"id"=>"1"}
没有文章
散列。这就是问题所在
进一步检查您的代码,下面这一行毫无意义
@article.update(article_params)
您可以假装从显示
操作中的某些参数更新@文章
。但是,这里至少有两个问题:
show
操作,不应该更新资源def show
@article = Article.find(params[:id])
@article.viewed += 1
@article.save!
end
或者你可以使用更好的方法
在代码中有以下行
params.require(:article).permit!
如果params
散列不包含article
散列,则require
方法调用将引发您遇到的错误
从错误页面可以看到,当前参数为
{"id"=>"1"}
没有文章
散列。这就是问题所在
进一步检查您的代码,下面这一行毫无意义
@article.update(article_params)
您可以假装从显示
操作中的某些参数更新@文章
。但是,这里至少有两个问题:
show
操作,不应该更新资源def show
@article = Article.find(params[:id])
@article.viewed += 1
@article.save!
end
或者你可以使用更好的方法
该记录是否将在没有Active record的保存或更新方法的情况下保存?您可以在的文档中轻松找到确认信息,该记录是否将在没有Active record的保存或更新方法的情况下保存?您可以在的文档中轻松找到确认信息