Ruby on rails 4 当我将“验证用户”操作置于“验证用户”之前时,设计路由错误
我有一个会话列表(不是设计会话,是电影会话),并且我有一个指向新会话的链接。该会话的提供是来自用户的嵌套资源。要购买(创建优惠),必须记录用户(因为创建优惠需要用户的参考)。当我在\u操作之前放置时:验证\u用户!在会话_控制器(电影院会话而非设备会话)中,我收到以下错误:Ruby on rails 4 当我将“验证用户”操作置于“验证用户”之前时,设计路由错误,ruby-on-rails-4,devise,Ruby On Rails 4,Devise,我有一个会话列表(不是设计会话,是电影会话),并且我有一个指向新会话的链接。该会话的提供是来自用户的嵌套资源。要购买(创建优惠),必须记录用户(因为创建优惠需要用户的参考)。当我在\u操作之前放置时:验证\u用户!在会话_控制器(电影院会话而非设备会话)中,我收到以下错误: NoMethodError in Devise::Sessions#new Showing /home/ubuntu/workspace/app/views/users/sessions/new.html.erb wher
NoMethodError in Devise::Sessions#new
Showing /home/ubuntu/workspace/app/views/users/sessions/new.html.erb where line #10 raised:
undefined method `name' for #<ActionView::Helpers::FormBuilder:0x000000034bc708>
这是我的会话控制器(电影院会话,不是设计):
class sessioncontroller
new.html.erb(会话控制器):
新会话
_表格.雇员再培训局(课时):
禁止保存此会话:
这是新手犯的错误,我在寻找设计注册问题中的任何东西。但错误出现在(Desive)session/new视图中,我已自动为名称生成字段,但登录时不使用此字段,仅使用电子邮件和密码字段。
我从(设计)会话/new Everything中删除了名称字段。您认为的问题(不是路由器中的问题)。查看错误消息。是的,但是没有之前的操作:验证用户!everthing可以很好地显示您的
new.html.erb
file.edit:added new.html.erbIt没有引起错误的第10行。
Rails.application.routes.draw do
resources :tickets
resources :offers
resources :prices
resources :movies
devise_for :sessions, controllers: {
new: 'session/new'
}
resources :sessions do
resources :offers
end
resources :rooms
resources :seats
resources :cinemas
get 'welcome/index'
devise_for :users, controllers: {
registrations: 'users/registrations'
}
root 'welcome#index'
end
class SessionsController < ApplicationController
before_action :authenticate_user!
before_action :set_session, only: [:show, :edit, :update, :destroy]
respond_to :html
...
<h1>New session</h1>
<%= render 'form' %>
<%= link_to 'Back', sessions_path %>
<%= form_for(@session) do |f| %>
<% if @session.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@session.errors.count, "error") %> prohibited this session from being saved:</h2>
<ul>
<% @session.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :cinema_id %><br>
<%= f.collection_select :cinema_id, Cinema.all, :id, :nameCine %>
</div>
<div class="field">
<%= f.label :room_id %><br>
<%= f.collection_select :room_id, Room.all, :id, :description %>
</div>
<div class="field">
<%= f.label :movie_id %><br>
<%= f.collection_select :movie_id, Movie.all, :id, :title %>
</div>
<div class="field">
<%= f.label :bgn_date %><br>
<%= f.datetime_select :bgn_date %>
</div>
<div class="field">
<%= f.label :end_date %><br>
<%= f.datetime_select :end_date %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>