Я работаю над «Ruby on rails essential 3 training» на lynda.com. Я собираюсь создавать формы и внедрять CRUD. Пока всякий раз, когда я пытаюсь запустить рельсы, он никогда не сможет найти определение.GET ошибки в рубине на рельсах. Контроллеры и действия. CRUD
Чтобы решить эту проблему, я определяю действие внутри контроллера, а затем создаю GET в файле routes.rb. Мой инструктор не должен этого делать, и его сервер начинает нормально. У меня такое чувство, что я делаю что-то неправильно, потому что у моего файла route.rb есть много команд GET.
Пожалуйста, ознакомьтесь со следующими папками и дайте мне знать, если у вас есть идея, почему я должен делать GET каждый раз, когда я пытаюсь выполнить новое действие. Я слышал, что при создании модели предполагается создание GET одновременно, но этого не происходит, и я не уверен, правильно ли я это понимаю. Мои подданные контроллер:
class SubjectsController < ApplicationController
def index
list
render('list')
end
# def index
# show
# render('show')
# end
def list
@subjects = Subject.order("subjects.position ASC")
end
def show
@subject = Subject.find(params[:id])
end
def new
@subject = Subject.new
end
def create
end
конец
Мой new.html.erb файл:
<%= link_to("<< Back to List", {:action => 'list'}, :class => 'back- link') %>
<div class="subject new">
<h2>Create Subject</h2>
<%= form_for(:subject, :url => {:action => 'create'}) do |f| %>
<table summary="Subject form fields">
<tr>
<th>Name</th>
<td><%= f.text_field(:name) %></td>
</tr>
<tr>
<th>Position</th>
<td><%= f.text_field(:position) %></td>
</tr>
<tr>
<th>Visible</th>
<td><%= f.text_field(:visible) %></td>
</tr>
</table>
<div class="form-buttons">
<%= submit_tag("Create Subject") %>
</div>
<% end %>
Мой конфиг/routes.rb
Rails.application.routes.draw do
root :to=>"demo#index"
get 'demo/index'
get 'demo/hello'
get 'demo/other_hello'
get 'subjects/list'
get 'subjects/show'
get 'subjects/new'
get 'subjects/create'
Теперь имея проблема с частью создания Crud при попытке создать тестовый объект. Вот мой SubjectsController.rb
class SubjectsController < ApplicationController
def index
list
render('list')
end
# def index
# show
# render('show')
# end
def list
@subject = Subject.order("subjects.position ASC")
end
def show
@subject = Subject.find(params[:id])
end
def new
@subject = Subject.new
end
def create
@subject = Subject.new(params[:subject])
if @subject.save
redirect_to(:action => 'list')
else
render('new')
end
end
end
пожалуйста отправьте сообщение об ошибке, что вы получаете –