Я действительно потерян здесь. Я попытался посмотреть, что указано в сообщении об ошибке. Но я заблудился относительно того, что изменить, не испортив все это. Любая помощь будет принята с благодарностью.
Мое сообщение об ошибке
ERROR["test_micropost_interface", #<Minitest::Reporters::Suite:0x000055b1f91346f0 @name="MicropostsInterfaceTest">, 1.9944019659999412]
test_micropost_interface#MicropostsInterfaceTest (1.99s)
ActionView::Template::Error: ActionView::Template::Error: undefined method `relationships_path' for #<#<Class:0x000055b1f9317788>:0x000055b1f7f0e818>
app/views/users/_follow.html.erb:1
app/views/users/_follow_form.html.erb:6
app/views/users/show.html.erb:15
test/integration/microposts_interface_test.rb:34:in `block in <class:MicropostsInterfaceTest>'
59/59: [===================================] 100% Time: 00:00:02, Time: 00:00:02
Finished in 2.77981s
59 tests, 298 assertions, 0 failures, 1 errors, 0 skips
_follow. html .erb
<%= form_with(model: current_user.active_relationships.build, remote: true) do |f| %>
<div><%= hidden_field_tag :followed_id, @user.id %></div>
<%= f.submit "Follow", class: "btn btn-primary" %>
<% end %>
_follow_form_ html .erb
<% unless current_user?(@user) %>
<div id="follow_form">
<% if current_user.following?(@user) %>
<%= render 'unfollow' %>
<% else %>
<%= render 'follow' %>
<% end %>
</div>
<% end %>
показать . html .erb
<% provide(:title, @user.name) %>
<div class="row">
<aside class="col-md-4">
<section>
<h1>
<%= gravatar_for @user %>
<%= @user.name %>
</h1>
</section>
<section class="stats">
<%= render 'shared/stats' %>
</section>
</aside>
<div class="col-md-8">
<%= render 'follow_form' if logged_in? %>
<% if @user.microposts.any? %>
<h3>Microposts (<%= @user.microposts.count %>)</h3>
<ol class="microposts">
<%= render @microposts %>
</ol>
<%= will_paginate @microposts %>
<% end %>
</div>
</div>
microposts_interface_test.rb
require 'test_helper'
class MicropostsInterfaceTest < ActionDispatch::IntegrationTest
def setup
@user = users(:michael)
end
test "micropost interface" do
log_in_as(@user)
get root_path
assert_select 'div.pagination'
# Invalid submission
assert_no_difference 'Micropost.count' do
post microposts_path, params: { micropost: { content: "" } }
end
assert_select 'div#error_explanation'
assert_select 'a[href=?]', '/?page=2' # Correct pagination link
# Valid submission
content = "This micropost really ties the room together"
assert_difference 'Micropost.count', 1 do
post microposts_path, params: { micropost: { content: content } }
end
assert_redirected_to root_url
follow_redirect!
assert_match content, response.body
# Delete post
assert_select 'a', text: 'delete'
first_micropost = @user.microposts.paginate(page: 1).first
assert_difference 'Micropost.count', -1 do
delete micropost_path(first_micropost)
end
# Visit different user (no delete links)
get user_path(users(:archer))
assert_select 'a', text: 'delete', count: 0
end
end
На данный момент я в основном скопировал и вставил из hartls github, потому что я не мог заставить что-либо работать. Любая помощь будет высоко ценится.