Ich versuche, eine Todo-Liste mit Rails zu machen, zuerst habe ich die Liste und seine Spezifikationen gemacht, alles ging gut, aber dann habe ich begonnen, es zu machen, aber es einfach nicht speichern, es ist Inhalt, es speichert eine leere Zeichenfolge, es funktioniert weder auf dem Formular noch auf die Spezifikationen. Wenn ich versuche, mit der Rails-Konsole zu speichern, läuft alles gut.Probleme beim Speichern mit Ruby on Rails haben
Dies ist die Botschaft, die ich von Rspec erhalten:
Creating todo items is successful with valid content
Failure/Error: expect(page).to have_content("Ruby")
expected to find text "Ruby" in ""
Oben ist der Code für ...
#todo_item_controller.rb
class TodoItemsController < ApplicationController
def index
@todo_list = TodoList.find{ params[:todo_list_id] }
end
def new
@todo_list = TodoList.find{ params[:todo_list_id] }
@todo_item = @todo_list.todo_items.new
end
def create
@todo_list = TodoList.find(params[:todo_list_id])
@todo_item = @todo_list.todo_items.new(todo_item_params)
if @todo_list.save
flash[:success] = "Added todo list item."
redirect_to todo_list_todo_items_path
else
flash[:error] = "Something went wrong"
render action: :new
end
end
private
def todo_item_params
params[:todo_item].permit{:content}
end
end
#index.html.erb
<h1><%= @todo_list.title %></h1>
<ul class="todo_items">
<% @todo_list.todo_items.each do |todo_item| %>
<li><%= todo_item.content %></li>
<% end %>
</ul>
<p>
<%= link_to "New Todo item", new_todo_list_todo_item_path %>
</p>
#new.html.erb
<%= form_for [@todo_list, @todo_item] do |form| %>
<%= form.label :content %>
<%= form.text_field :content %>
<%= form.submit "Save" %>
<% end %>
Wenn es zeigt es auf dem Browser nur die Liste Symbol erscheinen, aber keinen Inhalt .
Leider zu lange
Es hat funktioniert !! Danke vielmals! – joaomarcuslf