簡體   English   中英

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'並嘗試填寫表單並提交它時,沒有任何響應。頁面保持不變。 如果我嘗試刷新頁面,它工作正常。

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>

控制器:

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引用都會發生這種情況。

你可以幫我解決這個問題嗎?

耙路線:

     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

我是nob !!

謝謝

如果你能從你的Gemfile中找到它gem 'tubrolinks' ,請檢查並刪除。 正如@ptd所說。

如果沒有這個,請檢查您的網絡瀏覽器是否有其他線索的錯誤。

我得到了答案,因為@ptd審查了表單的問題(new.html.erb)我嘗試調試表單。

由於標簽位於<%= form_for(@review) do |f| %> <%= form_for(@review) do |f| %><table>標簽旁邊,它不起作用。 我將form_for標簽移到<table>旁邊,現在它正常工作。

我不知道確切的原因,但調整標簽后它的工作正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM