Rails 的新手(我正在构建一个应用程序来学习 Rails)并遇到了一个我找不到解决方案的问题(同时遵循入门指南)。我研究了指南和类似的问题
这是我的代码:
class ProjecttypesController < ApplicationController
def index
@projecttypes = Projecttype.all
end
def show
@projecttype = Projecttype.find(params[:id])
end
def new
end
def create
@projecttype = Projecttype.new(projecttype_params)
@projecttype.save
redirect_to @projecttype
end
private
def projecttype_params
params.require(:projecttype).permit(:name, :image, :url)
end
end
形式:
<%= form_for :projecttypes, url: projecttypes_path do |f| %>
<p>
<%= f.label 'Project type' %>
<%= f.text_field :projecttype %>
</p>
<p>
<%= f.label :name %>
<%= f.text_field :name %>
</p>
<p>
<%= f.label :image %>
<%= f.file_field :image %>
</p>
<p>
<%= f.label :url %>
<%= f.url_field :url %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
我做错了什么?
也许很重要……当我使用它时……
def create
render plain: params[:projecttype].inspect
end
它返回“无”。
谢谢你的帮助
你的代码应该是这样的
def new
@projecttype = Projecttype.new
end
def create
@projecttype = Projecttype.create(projecttype_params)
redirect_to @projecttype
end
并将其用于表单
<%= form_for @projecttype do |f| %>
我是一名优秀的程序员,十分优秀!