Reputation: 1619
This is probably really stupid but, I don't get why this happens. I have this method.
def vote_params
params.fetch(:vote, :like, :hate, :movie_id, {}).permit(:like, :hate, :movie_id)
end
And I call the method that calls it (a default scaffold create method) like this.
<td><%= link_to Vote.where(movie_id: movie.id, like: true).count, upvote_path( :like => true, :hate => false, :movie_id => movie.id) %></td>
My route is
get 'vote/movies' => 'votes#create', as: :upvote
What am I missing?
Upvotes: 0
Views: 163
Reputation: 3264
params.fetch(:vote, :like, :hate, :movie_id, {})
that part is not good, if you need to get parameters of separated scopes you need to do something like this.
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
But I believe that the following is what you need
def vote_params
params.permit(:like, :hate, :movie_id)
end
Upvotes: 2