2016-03-25 14 views
1

RailsでToDoリストを作成しようとしていますが、まずListとその仕様を作成しました。すべて大丈夫ですが、項目を作成し始めましたが、シンプルにコンテンツを保存しないでください。空の文字列を保存しますが、フォーム上でも仕様上でも動作しません。 Railsコンソールで保存しようとすると、すべてうまく行きます。Ruby on Railsで保存する際に問題がある

これは私がRSpecのから受け取るメッセージです:上記

​​

それがリストシンボルドキュメントがありませんのみを表示するブラウザに表示されたら

#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 %> 

...のコードです。長すぎる

答えて

2

変更のための

申し訳ありませんが、あなたの

def todo_item_params 
    params.require(:todo_item).permit(:content) 
end 

はRailsのstrong parametersを見てみましょうtodo_item_parems

に。

+0

それは働いた!どうもありがとう! – joaomarcuslf

関連する問題