Ruby on Rails : 页面 link_to 后表单提交没有响应,直接加载或刷新时工作正常

Ruby on Rails : No response from form submission after the page is link_to and works fine when it is directly loaded or refreshed

我有一个包含 3 个字段的表单 (new.html.erb)。当我直接打开页面时它工作正常(http://localhost:3000/reviews/new).

我得到另一个名为 index.html.erb 的页面。其中有一个 link_to "new.html.erb",当我尝试从 'index' 到 'new' 拍摄电影并尝试填写表格并提交时,没有 response.The 页面像死了一样呆着。如果我尝试刷新页面,它工作正常。

new.html.erb

       <!DOCTYPE html>
    <html>


    <% provide(:title, "Review-Add")%>
    <body>

    <h1>The Movie Recommender</h1>
    <table  border="1" >
      <%= form_for(@review) do |f| %>
      <tr>

        <td colspan="2"><h2>Add a Review</h2></td>
      </tr>
      <tr>


  <td>Movie Title:</td>
    <td><%= f.text_field :title, size: 20  %></td>
  </tr>

<tr>
<td>Movie Stars:</td>
<td><%= f.select(:stars, options_for_select([['1 star',1],['2 stars',2],['3 stars',3],['4 stars',4],['5 stars',5]])) %></td></tr>
<tr>
<td>Commentary:</td><td>
    <%= f.text_area(:commentary, size: '30x5',:value => "   Leave a comment ..." ) %>
</td></tr> 
<tr>
<td><%= f.submit "Save" %></td>
<td align="right"><%= f.submit "Cancel", type: "reset" %></td>
</tr>
<tr>
<td colspan="2"><i>Rate the movie and leave a comment in the text area above</i></td></tr>
<% end %>
</table>
<hr/>
<%= link_to "Home", root_path %>
</body>
</html>

controller :

def new
    @review =Review.new

  end

  def create
  @review = Review.new(params.require(:review).permit(:stars, :title, :commentary))
    if @review.save
        redirect_to review_url(@review)
    else
        redirect_to reviews_url
    end 
  end

所有 link_to 引用都会发生这种情况。

你能帮我解决这个问题吗?

rake 路线:

     reviews GET    /reviews(.:format)             reviews#index
  new_review GET    /reviews/new(.:format)         reviews#new
            POST   /reviews(.:format)             reviews#create
     review GET    /reviews/:id(.:format)         reviews#show
edit_review GET    /reviews/:id/edit(.:format)    reviews#edit
            PATCH  /reviews/:id(.:format)         reviews#update
            PUT    /reviews/:id(.:format)         reviews#update
            DELETE /reviews/:id(.:format)         reviews#destroy

这与会话有关吗?

我在这里上传了所有文件:ruby code

我是大佬!!

谢谢

检查并从 Gemfile 中找到 gem 'tubrolinks' 并删除它。正如@ptd 所说。

如果此操作失败,请检查您的 Web 浏览器是否有任何错误以获取其他线索。

我得到了答案,正如@ptd 所指出的那样,这是表格的问题 (new.html.erb) 我尝试调试表格。

由于标签被放置在 <%= form_for(@review) do |f| %> 旁边,因此 <table> 标签不起作用。 我将 form_for 标签移到了 <table> 之外,现在可以正常工作了。

我不知道确切原因,但调整标签后它工作正常。