【发布时间】:2016-05-01 00:34:52
【问题描述】:
我知道我以某种方式违反了 Rails 约定导致错误,但我不知道是什么...
# controller
def membership
@user = User.new(user_type:"member")
end
def membership_create
@user = User.find(params[:id])
...
end
# routes
match '/membership/create.:id', to: "users#membership_create", via: :post, as: "create_member"
# view
# have tried the following based on various other answers, doesn't work
<%= form_for @user, :url => create_member_path(@user), method: :post do |f| %>
<%= form_for @user, :url => create_member_path(@user) do |f| %>
不断收到错误消息:No route matches {:action=>"membership_create", :controller=>"users", :id=>nil} missing required keys: [:id]
【问题讨论】:
-
斜线代替点
match '/membership/create/:id', to: "users#membership_create", via: :post, as: "create_member" -
您的路线需要 ID
标签: ruby-on-rails forms ruby-on-rails-4 routing routes