fxu*_*ser 2 model ruby-on-rails associations typeerror
导致问题的形式:
<%= form_for Like.find(post.user.likes), :html => { :method => :delete , :class => "unlike_post_like_form" } do |f| %>
Run Code Online (Sandbox Code Playgroud)
发布模型
belongs_to :user
has_many :likes
Run Code Online (Sandbox Code Playgroud)
用户模型
has_many :posts
has_many :likes
Run Code Online (Sandbox Code Playgroud)
喜欢模特
belongs_to :post
belongs_to :user
Run Code Online (Sandbox Code Playgroud)
我一直收到以下错误:
TypeError in Users#show
Cannot visit Like
Run Code Online (Sandbox Code Playgroud)
上
Like.find(post.user.likes),
Run Code Online (Sandbox Code Playgroud)
编辑:
第一解决方案
改变
Like.find(post.user.likes),
Run Code Online (Sandbox Code Playgroud)
至
Like.find(post.user.likes).limit(1),
Run Code Online (Sandbox Code Playgroud)
二解决方案:
改变
Like.find(post.user.likes),
Run Code Online (Sandbox Code Playgroud)
至
current_user.likes.where(:post_id => post.post_id)
Run Code Online (Sandbox Code Playgroud)
Like.find(post.user.likes)正试图找到一个Like给定的数组likes.这没有多大意义.
很可能,你会想要搜索post.user.likes,但即便如此,我有点困惑 - 你需要发布更多的代码.
Like.find正在寻找一个id(整数),或一个包含键和值的哈希.数组不会为其提供任何搜索信息.
编辑:如果您正在寻找当前用户的喜欢.你需要做以下事情......
current_user.likes.where(:post => @post)
| 归档时间: |
|
| 查看次数: |
6548 次 |
| 最近记录: |