我是Rails的新手。我想通過控制器將參數傳遞給數據庫,但是我收到此錯誤參數丟失或值爲空:轉推。我認爲問題在於傳遞參數的方式。錯誤:param丟失或值爲空:轉推
下面是這個視圖
<% for @p in @posts %>
<div class="panel panel-default post-panel">
<div class="panel-body row">
<div class="col-sm-1">
<img src="/avatar.png" class="rounded-img" height="50px" width="50px">
</div>
<div class="col-sm-11">
<p class="post-title"><a href="/user/<%= User.find(@p.user_id).username %>" class="post-owner"><%= User.find(@p.user_id).username %></a> <span class="post-creation">- <%= @p.created_at.to_formatted_s(:short) %></span></p>
<p class="post-content"><%= @p.content %></p>
</div>
<div class="col-sm-12">
<p class="post-links">
<span class="glyphicon glyphicon-comment g-links" aria-hidden="true"></span>
**<%= form_for Retweet.new do |f| %>
<%= hidden_field_tag current_user.id, (:user_id) %>
<%= hidden_field_tag @p.id, (:post_id) %>
<%= f.submit "Retweet", class:"btn btn-primary"%>**
<% end %>
這裏是控制器
def new
@retweet = Retweet.new
end
def create
@retweet = Retweet.new(post_params)
redirect_to(:back)
end
private def post_params
params.require(:retweet).permit(:user_id, :post_id)
end
end
短短几年更多的評論: 在fiew,不命名變量'@ p'。對於那些可以在其他視圖中訪問的人來說,這也是一個非常糟糕的名字。 '後'將是一個更好的。 對'avatar.png'使用'image_tag'輔助方法。當您開始使用CDN時,您會遇到麻煩。 –