Ruby on rails 未定义的方法“许可证和x27”;例如:符号

Ruby on rails 未定义的方法“许可证和x27”;例如:符号,ruby-on-rails,Ruby On Rails,这可能真的很愚蠢,但我不明白为什么会发生这种情况。 我有这个方法 def vote_params params.fetch(:vote, :like, :hate, :movie_id, {}).permit(:like, :hate, :movie_id) end 我这样调用调用它的方法(默认的scaffold create方法) <td><%= link_to Vote.where(movie_id: movie.id, like: true).count,

这可能真的很愚蠢,但我不明白为什么会发生这种情况。 我有这个方法

 def vote_params
    params.fetch(:vote, :like, :hate, :movie_id, {}).permit(:like, :hate, :movie_id)
 end
我这样调用调用它的方法(默认的scaffold create方法)

<td><%= link_to Vote.where(movie_id: movie.id, like: true).count, upvote_path( :like => true, :hate => false, :movie_id => movie.id) %></td>
def vote_params
  params.require('vote').permit(:parameter1, :parameter2)
end

def like_params
  params.require('like').permit(:parameter1, :parameter2)
end

def hate_params
  params.require('hate').permit(:parameter1, :parameter2)
end
我错过了什么

params.fetch(:vote, :like, :hate, :movie_id, {})
这一部分并不好,如果需要获取分离作用域的参数,则需要执行类似的操作

<td><%= link_to Vote.where(movie_id: movie.id, like: true).count, upvote_path( :like => true, :hate => false, :movie_id => movie.id) %></td>
def vote_params
  params.require('vote').permit(:parameter1, :parameter2)
end

def like_params
  params.require('like').permit(:parameter1, :parameter2)
end

def hate_params
  params.require('hate').permit(:parameter1, :parameter2)
end
但我相信以下是你需要的

def vote_params
   params.permit(:like, :hate, :movie_id)
end
这一部分并不好,如果需要获取分离作用域的参数,则需要执行类似的操作

<td><%= link_to Vote.where(movie_id: movie.id, like: true).count, upvote_path( :like => true, :hate => false, :movie_id => movie.id) %></td>
def vote_params
  params.require('vote').permit(:parameter1, :parameter2)
end

def like_params
  params.require('like').permit(:parameter1, :parameter2)
end

def hate_params
  params.require('hate').permit(:parameter1, :parameter2)
end
但我相信以下是你需要的

def vote_params
   params.permit(:like, :hate, :movie_id)
end

我们需要查看您的控制台日志,它显示了您的请求参数的状态。我现在能说的是,我发现它真的很奇怪
params.fetch(:投票,:喜欢,:恨,:movie\u id,{})
通常我们只取一个或两个符号,你已经有了4个,与许可证的符号完全相同…试试
params.permit(:喜欢,:恨,:movie\u id)
我们需要查看你的控制台日志,它显示了如何使用请求参数的部分。我现在能说的是,我发现它真的很奇怪。
params.permit(:vote,:like,:hate,:movie_id,{})
通常我们只取一个或两个符号,你已经有4个,与许可证的符号完全相同…试试
params.permit(:like,:hate,:movie_id)
没错,我的错误是我取的是我允许的相同的参数,所以这就产生了冲突,修正了!非常感谢,我的错误是,我获取了我允许的相同参数,因此产生了冲突。修复!非常感谢你