gpt4 book ai didi

ruby-on-rails - Rails 没有路线匹配

转载 作者:行者123 更新时间:2023-12-04 07:30:02 26 4
gpt4 key购买 nike

谢谢大家。我已经解决了这个问题。这是因为当我输入 posts/new页。新操作创建了一个虚拟 @post具有零属性。自 @post存在时,边栏中的编辑和删除链接会出现。然而,edit_post_path不起作用,因为 @post.idnil .然后发生错误。所以我只是改变了<% if @post %><% if @post && !@post.id.nil? %>它有效。 ——附言Rails 错误消息非常困惑。

我是 Rails 的新手,刚刚构建了一个简单的应用程序,当我单击链接创建新帖子时看到错误:
No route matches {:action=>"edit", :controller=>"posts"}

rake routes结果:

posts GET    /posts(.:format)              posts#index
POST /posts(.:format) posts#create
new_post GET /posts/new(.:format) posts#new
edit_post GET /posts/:id/edit(.:format) posts#edit
post GET /posts/:id(.:format) posts#show
PUT /posts/:id(.:format) posts#update
DELETE /posts/:id(.:format) posts#destroy

routes.rb 文件有 resources :posts

链接是:<li><%= link_to "New Post", new_post_path %></li>

PostsController中新的&编辑方法| :

  def new
@post = Post.new
end
def edit
@post = Post.find(params[:id])
end

我可以显示帖子、编辑帖子和删除帖子。但是每当我想单击链接创建新帖子时,就会发生错误。我不明白为什么 new_post_path将导致“编辑”路径????

有人可以帮我解决这个问题吗?如果您需要更多代码,请告诉我。

谢谢!

更新

  1. 添加 _sidebar.html.erb(格式不好,不知道如何保持原样,外面有一些正常的 nav , ul , li 标签)

    • <%= link_to "Home", root_path %>
    • <%= link_to "关于我", about_path %>
    • <% 如果 signed_in? %>
    • <%= link_to "New Post", new_post_path %>
    • <% 如果@post %>
    • <%= link_to "编辑帖子", edit_post_path %>
    • <%= link_to "删除帖子", post_path(@post), method: "delete", confirm: "确定删除吗?"%>
    • <%结束%>
    • <%= link_to "退出", chulai_path, method: "delete"%>
    • <%结束%>

  2. new.html.erb

    <%= form_for @post do |f| %> <div class="field"> <%= f.text_field :title %> </div>

    <div class="field">
    <%= f.text_area :content, placeholder: "new post here..." %>
    </div>

    <div class="field">
    <%= f.select :public, [['Public', true], ['Private', false]] %>
    </div>

    <%= f.submit "Post", class: "btn" %>

    <% end %>

  3. 我试过了 app.new_post_path , 它显示 /posts/new ,我想这很好。

最佳答案

您可能在您的 new.html.erb 中使用 edit_post_path 来发帖。它提示 no route matches 因为你没有传递编辑帖子的 id。但这不应该首先出现在 new View 中,因此您可能需要删除该行 - 用于编辑帖子

关于ruby-on-rails - Rails 没有路线匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15428121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com