【发布时间】:2016-06-17 17:57:12
【问题描述】:
我与verification 和user 有has_one 关系。我想制作一个引用两者的表格!我怎样才能做到这一点?我遇到了这个错误!!!谢谢!
错误日志:
ActionView::Template::Error (undefined method `user_verification_path' for #<#<Class:0x007fcb8bb4e8e0>:0x007fcb89e71998>):
1: <%= form_for([@user, @user.verification]) do |f| %>
2: <%= f.email_field :paypal_email, :class => 'form-control', :placeholder => "Paypal Email", id: 'Pemail' %>
3: <%= f.text_field :paypal_firstname, :class => 'form-control', :placeholder => "Paypal FirstName", id: 'PfirstName' %>
4: <%= f.text_field :paypal_lastname, :class => 'form-control', :placeholder => "Paypal LastName", id: 'PlastName' %>
app/views/users/paypal_verification.html.erb:1:in `_app_views_users_paypal_verification_html_erb__139977708174630313_70256084327900'
这是我的表单 paypal html
<%= form_for([@user, @user.verification]) do |f| %>
<%= f.email_field :paypal_email, :class => 'form-control', :placeholder => "Paypal Email", id: 'Pemail' %>
<%= f.text_field :paypal_firstname, :class => 'form-control', :placeholder => "Paypal FirstName", id: 'PfirstName' %>
<%= f.text_field :paypal_lastname, :class => 'form-control', :placeholder => "Paypal LastName", id: 'PlastName' %>
<%= f.submit "verify", class: "btn btn-primary" %>
<% end %>
这是我的控制器!!!
def paypal_verification
# @verification = @user.verification.new
@user = current_user
@verification = Verification.create(params[:verification])
@user.verification = @verification
end
Routes.rb
devise_for :users ,
:path => '' ,
:path_names => {:sign_in => 'login', :sign_out => 'logout', :edit => 'profile'},
:controllers => {:omniauth_callbacks => 'omniauth_callbacks',
:registrations => 'registrations', :verifications => 'verifications'
}
resources :users, only: [:index, :show] do
end
resources :revisers
resources :photos
resources :pages
#make sure to change this to user!!! instead of reservations!!!
resources :reviser do
resources :reservations, only: [:create]
end
resources :user do
resources :verifications, only: [:create]
end
get '/preload' => 'reservations#preload'
get '/preview' => 'reservations#preview'
get '/your_essays' => 'reservations#your_essays'
get '/your_reservations' => 'reservations#your_reservations'
post '/notify' => 'reservations#notify'
post '/your_essays' => 'reservations#your_essays'
get '/users/:id/paypal_verification' => 'users#paypal_verification'
【问题讨论】:
-
你能发布你的路线文件吗?您是否有别名发布路线::user_verification?
-
我进行了编辑!!谢谢米尔扎!!
-
我更改了资源 :user 做资源 :verification, only: [:create] end 现在我收到这个错误 No route matches [PATCH] "/user/3/verification.27"
-
看看我下面的答案...如果您正在执行 PATCH,那么您的表单需要说...form_for(@user.verification, url: user_verifications_path(@user, @user.verification) ....您需要在表单后传入 url,然后查看您为此表单设置的 bin/rails 路由别名
标签: html ruby-on-rails ruby forms controller