htmlスニペット:
<table id="project_1">
<thead>
...
<tr>
<form accept-charset="UTF-8" action="/projects/1/tasks" class="add-task form-search"
data-remote="true" id="new_task" method="post"></form>
<th><input class="input-xlarge" id="task_content" name="task[content]"
placeholder="Start typing here to create a task..." size="50" type="text"></th>
<th><input class="btn" name="commit" type="submit" value="Add Task"></th>
</tr>
</thead>
...
</table>
カピバラを使ったrspecテスト:
it "should create a task", :js => true do
visit projects_path
within("#project_#{@project.id}") do
fill_in "task[content]", :with => "This is a new task"
save_and_open_page
click_button 'Add Task'
end
page.should have_content("This is a new task")
end
Capybaraはページ上のすべての要素を正常に検出しましたが、ページ(save_an_open_pageによって生成された)のフィールド'task[content]'は空です。
ここで何が問題になる可能性がありますか?ありがとう
アップデート:
このerbから生成されたhtmlコード:
...
<%= form_for [project, Task.new], html: { :class => "add-task form-search" }, remote: true do |f| %>
<th><%= f.text_field :content, :class => "input-xlarge", :placeholder => "Start typing here to create a task...", :size => 50 %></th>
<th><%= f.submit "Add Task", :class => "btn" %></th>
<% end %>
...