[英]Rails app only adding “created_at” and “updated_at” to DB
您需要permit
控制器可用於更新/創建的屬性。 在您的情況下,您需要允許字段name
和recipe
。
在您的控制器方法中,按如下所示更改recipe_params :
def recipe_params
recipe_params = params.require(:recipe).permit(:name,:recipe)
end
然后在您的create
方法中,調用方法recipe_params
而不是直接使用params[:recipe]
創建create 。 即:
def create
@recipe = Recipe.create(recipe_params)
if @recipe.save
redirect_to recipe_new_path
else
reload_page
end
end
這應該工作。
將此添加到配方控制器
def recipe_params
recipe_params = params.require(:recipe).permit(:name,:recipe)
end
此方法允許您選擇要添加的參數
照常創建動作
def create
@recipe = Recipe.create(recipe_params)
if @recipe.save
redirect_to recipe_new_path
else
reload_page
end
end
那么您的表單應如下所示,注意:recipe
符號
<%= form_for :recipe do |f| %>
<%= f.label :name, "Recipe Name:" %>
<%= f.text_field :name %>
<br>
<%= f.label :recipe, "Recipe Description:" %>
<%= f.text_field :recipe %>
<br>
<%= f.submit %>
<% end %>
請注意,在表單中,您使用的是@recipe而不是:recipe
,因此導致缺少參數錯誤消息,只需確保控制器和表單中的變量相同即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.