Ruby on rails “希罗库”;出了点问题。”;尝试创建新窗体时
我正在尝试创建一个新的“房间”窗体。然而,当我把它推给Heroku时,我得到了一个错误:“很抱歉,出了点问题。”我使用的是rails 4.1和ruby 2.1.1。我也在使用Heroku 如果有帮助的话,我对rails有点陌生,正在尝试将我学到的东西移植到我的新“房间”类型中 这是我的视图/模型/控制器: 查看:(app/views/rooms/index.html.erb)Ruby on rails “希罗库”;出了点问题。”;尝试创建新窗体时,ruby-on-rails,ruby,forms,ruby-on-rails-4,heroku,Ruby On Rails,Ruby,Forms,Ruby On Rails 4,Heroku,我正在尝试创建一个新的“房间”窗体。然而,当我把它推给Heroku时,我得到了一个错误:“很抱歉,出了点问题。”我使用的是rails 4.1和ruby 2.1.1。我也在使用Heroku 如果有帮助的话,我对rails有点陌生,正在尝试将我学到的东西移植到我的新“房间”类型中 这是我的视图/模型/控制器: 查看:(app/views/rooms/index.html.erb) 创造空间 {:controller=>'rooms',:action=>'create'})do | f |%> 创建
创造空间
{:controller=>'rooms',:action=>'create'})do | f |%>
创建人:
名称:
说明:
- *
所有房间
房间是空的
型号:(app/Model/room.rb)
教室 类它在您自己的计算机上工作吗?我之前在本地主机上运行时遇到问题,但忘了我已经解决了这个问题。养成了把一切都推给heroku的坏习惯。我在本地主机上运行时编辑了我的帖子。似乎认为@房间为零。我不确定为什么在我遵循的教程中它100%起作用,但在本教程中不起作用……嗯,@room可能为零。你要采取什么行动?此外,你不应该对不同的动作使用相同的视图。哦,明白了。我在index.html.erb中,需要切换到new.html.erb。非常感谢。
<% if current_user %>
<h1>Create Room</h1>
<div class="Sign_Form">
<%= form_for(:room, :url => {:controller => 'rooms', :action => 'create'}) do |f| %>
<p> Created By:</br> <%= f.text_field :created_by%> </p>
<p> Name:</br> <%= f.text_field :name%> </p>
<p> Description:</br> <%= f.text_field :description%> </p>
<%= f.submit :Createroom %>
<% end %>
<% if @room.errors.any? %>
<ul class="Createroom_Errors">
<% for message_error in @room.errors.full_messages %>
<li>* <%= message_error %></li>
<% end %>
</ul>
<% end %>
</div>
<h1>All Rooms</h1>
<% if @rooms.nil? %>
Rooms is nil
<% else %>
<% @rooms.each do |room| %>
<%= room.name %>
<% end %>
<% end %>
<% else %>
<%= render 'welcome' %>
<% end %>
class Room < ActiveRecord::Base
class << self
end
end
class RoomsController < ApplicationController
def index
@rooms = Room.all
end
def new
@room = Room.new
end
def create
@room = Room.new(params[:room])
if @room.save
flash[:notice] = "Room has been created!"
flash[:color] = "valid"
else
flash[:notice] = "Room has not been created!"
flash[:color] = "invalid"
end
render new
end
end