使用其他模型ID的Rails自定义路线

raphael_turtle

我想创建一个自定义路线,例如“ photos /:user_id /:photo_id”以显示每张照片。在我的路线文件中,我有;

get 'photos/:user_id/:photo_id' => 'photos#show', :as => 'user_photo'

rake routes给了我

user_photo GET       /photos/:user_id/:photo_id(.:format)   photos#show

编辑;

现在,当我使用链接到照片时link_to 'some photo', user_photo_path(@photo,@user),出现以下错误

Processing by PhotosController#show as HTML
  Parameters: {"user_id"=>"8", "photo_id"=>"8"}
  User Load (0.6ms)  SELECT  "users".* FROM "users"  WHERE "users"."id" = 8  ORDER BY "users"."id" ASC LIMIT 1
Completed 404 Not Found in 3ms

ActiveRecord::RecordNotFound - Couldn't find Photo without an ID:
  activerecord (4.1.1) lib/active_record/relation/finder_methods.rb:402:in `find_with_ids'
  activerecord (4.1.1) lib/active_record/relation/finder_methods.rb:68:in `find'
  activerecord (4.1.1) lib/active_record/querying.rb:3:in `find'
   () Users/batman/code/myapp/app/controllers/photos_controller.rb:73:in `set_photo'
BroiSatse

您需要将其添加到参数中:

link_to 'some photo', user_photo_path(@photo.user, @photo)

第二个错误是由您寻找照片的方式引起的。您最有可能做到:

photo = Photo.find(params[:id])

在这种情况下,您需要更改params[:id]parmas[:photo_id](如果这样做可能会制动其他动作,before_filter或者将您的路线更改为:

get 'photos/:user_id/:id' => 'photos#show', :as => 'user_photo'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用其他模型ID的Rails自定义路线

来自分类Dev

Rails友好ID自定义路线

来自分类Dev

设计其他用户字段,嵌套模型/属性和自定义路线

来自分类Dev

使用MVC4自定义模型从其他模型返回属性

来自分类Dev

Rails自定义路线,如何删除?id =

来自分类Dev

在Rails中访问自定义路线

来自分类Dev

Rails 4 Devise自定义路线

来自分类Dev

在Rails中创建自定义路线

来自分类Dev

Rails中的自定义方法路线

来自分类Dev

Rails 4 Devise自定义路线

来自分类Dev

Rails 4:自定义路线,单个模型的多个编辑表单

来自分类Dev

Rails,使用自定义SQL查询填充ActiveRecord模型

来自分类Dev

Rails:使用自定义方法订购自定义模型

来自分类Dev

使用NextJS自定义路线名称

来自分类Dev

Django REST序列化程序和自定义模型字段中的其他属性

来自分类Dev

将模型中其他属性的值传递给自定义htmlhelper

来自分类Dev

在 django 中更改模型自定义保存方法中的其他对象

来自分类Dev

使用Facebook按钮自定义登录。除了名称和用户ID之外,未获取其他信息

来自分类Dev

Ruby on Rails 使用自定义 ID 连接表

来自分类Dev

Ruby on Rails-创建自定义路线以#Show

来自分类Dev

自定义Rails投票系统路线不起作用

来自分类Dev

自定义rails参数中未找到路线错误

来自分类Dev

Rails 4.0.4自定义form_for路线

来自分类Dev

将参数传递到自定义的Rails路线中

来自分类Dev

嵌套路线中的Rails自定义动作

来自分类Dev

在自定义的Rails路线中包括属性

来自分类Dev

带有参数的Rails自定义路线

来自分类Dev

rails:自定义路线不起作用

来自分类Dev

具有自定义路线的Rails自定义错误页面

Related 相关文章

热门标签

归档