Проблема при создании записи (CRUD) - PullRequest
0 голосов
/ 19 августа 2011

Я пытался сохранить данные в моей базе данных, используя Rail 3, но я не смог этого сделать. Произошла ошибка: NoMethodError в Vorlesungs # new

в моем контроллере:

class VorlesungsController < ApplicationController
  def new
         @vorlesung=Vorlesung.new
  end

 def create
    @vorlesung=Vorlesung.create(params[:vorlesung])
    if @vorlesung.save
       @status_message = 'Student inserted successfully.'
    else
      render 'new'
    end
  end
end

и мой вид:

    <%= form_for @vorlesung do |v| %>
    Name : <%= v.text_field :Name %>    <br>
    Name de Professur : <%= v.text_field :Leiter_name %><br>
    <%= v.submit 'Speicher'%>

<% end %>

, когда я изменил Form_for на <% = form_for @vorlesung do | v |%> произошла такая ошибка: NoMethodError в Vorlesungs # new, когда Form_for остается как: <% = form_for: vorlesung do | v |%> после нажатия кнопки «Отправить» удаляется только содержимое текстовых полей, и никакого другого эффекта. Большое спасибо за вашу помощь

, это мое полное сообщение об ошибке:

NoMethodError in Vorlesungs#new

Showing /home/babak/Management/app/views/vorlesungs/new.erb where line #1 raised:

undefined method `vorlesungs_path' for #<#<Class:0xb5f55cc0>:0xb5f54f00>
Extracted source (around line #1):

1: <%= form_for @vorlesung do |v| %>
2:     Name : <%= v.text_field :Name %>    <br>
3:     Name de Professur : <%= v.text_field :Leiter_name %><br>
4:     <%= v.submit 'Speicher'%>

и это мой маршрутный файл:

Management::Application.routes.draw do
 # get "vorlesungs/Show"
  root :to => 'vorlesungs#Show'
  match 'vorlesungs/new' =>'vorlesungs#new'
end

1 Ответ

0 голосов
/ 19 августа 2011

Вы не определили действие создания в своих маршрутах.

Вместо

 # get "vorlesungs/Show"
  root :to => 'vorlesungs#Show'
  match 'vorlesungs/new' =>'vorlesungs#new'

добавить

resources :vorlesungs

Хорошее руководство по этому вопросу можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...