[英]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.