为什么我会成为这样的错误消息? 这是我的控制器:
#app/controllers/dashboard_controller.rb
def upvote(user, post_id)
@user=user
@user.posts.find(post_id).increment!(:votes)
redirect_to action: "view"
end
我在这里使用我的功能:
#app/views/dashboard/view.html.erb
<%=f.posts.find(i).votes%>, <%= link_to "+", upvote_dashboard_path(f,i) %>
答案 0 :(得分:1)
您的控制器操作不会带任何参数,您可以使用$client->request('GET','your_url_here',['proxy'=>'']);
方法将任何参数传递给它们。例如,您的params
链接如下所示:
upvote
您可以使用upvote_dashboard_path(user_id: f.id, post_id: i)
和params[:user_id]
在您的控制器中访问它。
此外,我强烈建议您阅读一些Rails教程,因为这是Rails的基本知识。
答案 1 :(得分:0)
你不能像这样编写控制器actions
。你必须写
def upvote
@user= User find(params[:user_id])
@user.posts.find(params[:post_id]).increment!(:votes)
redirect_to action: "view"
end
并在视图部分
#app/views/dashboard/view.html.erb
<%=f.posts.find(i).votes%>, <%= link_to "+", upvote_dashboard_path(user_id: f.id, post_id: i) %>