2013-12-04 2 views
0

Так что я пытаюсь закодировать контроллер, который сохраняет объект из формы. Я определил метод создания, который, по моему мнению, должен быть правильным.Объекты не создаются, только начали изучать рельсы

def create 
@info = Info.new(params[:info]) 

if @info != nil 
    @display_message = 'Object created successfully, thank you' 
else 
    @display_message = 'Sorry! Object was not created successfully' 
    render 'index' 
    end 
end 

Однако, когда я отправляю форму и вызываю Info.all в консоли rails, я получаю только пустой массив.

<h1>Please enter information about an Info object</h1> 
<%= form_for @info, :action => :create do |f| %> 
<%= f.label :title %><br /> 
<%= f.text_field :title %> <br /> 
<%= f.label :price %><br /> 
<%= f.text_field :price %> <br /> 
<%= f.submit "Submit" %> <br /> 
<% end %> 

Насколько я знаю, это должно работать, локальный: 3000 разве бросали ошибки с синтаксисом и отображает вид штрафа. Любая помощь или понимание будут оценены.

ответ

1

Вы должны сохранить свой объект настойчиво. Таким образом, ваш метод контроллера должен выглядеть код ниже

def create 
    @info = Info.new(params[:info]) 

    if @info.save 
    flash[:success] = 'Object created successfully, thank you' 
    render :index 
    else 
    flash[:error] = 'Sorry! Object was not created successfully' 
    render :new 
    end 
end 

Также используют рельсы flash объекта для отображения сообщений пользователя.

+0

спасибо большое! – pxlcrisis

+0

как я могу отобразить сообщение в представлении? Я только начинаю с рельсов и не знаком со вспышкой [] – pxlcrisis

+0

Просто используйте флеш-объект в своих представлениях. '<% = flash [: success]%>' например –

1

Вы только инстанцировании его, не сохраняя его, например,

@info.save 

Хотя вы можете рассмотреть вопрос о визуализации, так как обновления не может делать то, что вы хотите.

0

Info.new только инициализирует объект, который не сохраняется. Либо вызовите Info.create, либо @info.save.

Вам не нужно проверять nil либо с момента инициализации объекта.

Смежные вопросы