Ruby on Rails를 처음 사용했습니다. 이제 부트 스트랩으로 간단한 ToDo List 앱을 만들려고합니다.레일즈가 부트 스트랩 모달에 새롭게 추가 된 폼을 편집합니다.
모든 것이 작동하지만 새 작업 양식을 모달 창에 렌더링하려했으나 충돌이 발생했습니다. 여기
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal Header</h4>
</div>
</div>
<div class="modal-body">
<h1>New Task</h1>
<%= form_for @task, :html => {class:"form-horizontal"} do |f|%>
<!-- Here is form code -->
<% end %>
<%= link_to 'Back', tasks_path %>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
그리고 내 Index.html.erb입니다 : 내 인덱스 페이지를 시작하려고 할 때
<div class="container-fluid">
<div class="row">
<h1 class="text-left">Task List</h1>
<%= button_to 'New Task', new_task_path, :class =>"btn btn-success pull-right", :method => "get", data: {'data-toggle' => "modal", 'data-targe' => "#myModal"} %>
</div>
<div class="row button-margin ">
<% @tasks.each do |task| %>
<div class="panel <%= task_status(task) %>">
<div class="panel-heading">
<%= task.title %>
<p class="pull-right"><%= task.dueDate %></p>
</div>
<div class="panel-body">
<h3><%= task.body %></h3>
</div>
</div>
<% end %>
</div>
<%= render "tasks/form" %>
</div>
그래서 나는 오류
First argument in form cannot contain nil or be empty
를 얻을 여기 내 _form 부분 코드입니다.
내 코드가 뭐니? 그리고 편집 작업을 위해 양식에 기존 작업을 어떻게 전달할 수 있습니까?
UPD : 작업 컨트롤러의 새로운 작업에 대한
방법은 다음과 같습니다에
class TasksController < ApplicationController
def index
@tasks=Task.all
end
def new
@task=Task.new
end
def show
@task=Task.find(params[:id])
end
def create
@task=Task.new(task_params)
if @task.save
redirect_to @task
else
render 'new'
end
end
private
def task_params
params.require(:task).permit(:title, :body, :creationDate, :dueDate)
end
end
?, 더 나은, 변경? –
인덱스 작업에 @task = Task.new도 추가해야합니다. – puneet18
색인 파일에서 새 작업 양식에 액세스하려고하므로 @task = Task.new가 색인 방법에 있어야합니다. –