在 Ruby 中获取公司描述
get company description in Ruby
我有一个 table 公司,有 companyid 和 companyname,还有一个 table 我的公司配置的配置有 id、companyid、companyname,我的下拉列表中的配置由 [=27 生成=] g脚手架
我如何 override/change Ruby 的 Save/create 按钮创建我的新配置?
将我的公司名称放在配置 table 上是否正确,还是删除它并使用方法 geyCompanyName(id) 更好?
我是 Ruby 的新手,只是想按照教程学习
控制器看起来像
def index
@company_config = CompanyConfig.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @company_config }
end
end
def show
@@company_config = CompanyConfig.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @company_config }
end
end
def new
@company_config = ComapnyConfig.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @company_config }
end
end
def edit
@company_config = CompanyConfig.find(params[:id])
end
def create
@company_config = CompanyConfig.new(params[:company_config])
respond_to do |format|
if @company_config.save
format.html { redirect_to @company_config, notice: 'Config was successfully created.' }
format.json { render json: @company_config, status: :created, location: @company_config }
else
format.html { render action: "new" }
format.json { render json: @@company_config.errors, status: :unprocessable_entity }
end
end
end
我试图查看 Controller create,但不确定如何编辑它以满足我想要完成的任务。
我的观点看起来像
<%= simple_form_for(@company_config) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :companyid, collection:build_company_select_array %>
<%= f.input :companyname %>
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
您不应该将 companyname
之类的信息存储在两个地方。
您在 CompanyConfig 模型中唯一需要的是 ID、company_id 以及您想要存储的适合配置记录的有关公司的任何其他信息。
并且您可以定义 Company 使其 has_one company_config
(或 has_many company_configs
)并定义 CompanyConfig 使其 belongs_to company
当您想引用公司名称时,可以通过 my_company_config.company.companyname
访问它,尽管您最终会学会委托方法。一个非常简单的例子...
class CompanyConfig
belongs_to company
def companyname
company.companyname
end
end
...这将使您能够做到 my_company_config.companyname
但仍然只将数据存储在一个地方。
我有一个 table 公司,有 companyid 和 companyname,还有一个 table 我的公司配置的配置有 id、companyid、companyname,我的下拉列表中的配置由 [=27 生成=] g脚手架
我如何 override/change Ruby 的 Save/create 按钮创建我的新配置? 将我的公司名称放在配置 table 上是否正确,还是删除它并使用方法 geyCompanyName(id) 更好?
我是 Ruby 的新手,只是想按照教程学习
控制器看起来像
def index
@company_config = CompanyConfig.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @company_config }
end
end
def show
@@company_config = CompanyConfig.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @company_config }
end
end
def new
@company_config = ComapnyConfig.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @company_config }
end
end
def edit
@company_config = CompanyConfig.find(params[:id])
end
def create
@company_config = CompanyConfig.new(params[:company_config])
respond_to do |format|
if @company_config.save
format.html { redirect_to @company_config, notice: 'Config was successfully created.' }
format.json { render json: @company_config, status: :created, location: @company_config }
else
format.html { render action: "new" }
format.json { render json: @@company_config.errors, status: :unprocessable_entity }
end
end
end
我试图查看 Controller create,但不确定如何编辑它以满足我想要完成的任务。
我的观点看起来像
<%= simple_form_for(@company_config) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :companyid, collection:build_company_select_array %>
<%= f.input :companyname %>
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
您不应该将 companyname
之类的信息存储在两个地方。
您在 CompanyConfig 模型中唯一需要的是 ID、company_id 以及您想要存储的适合配置记录的有关公司的任何其他信息。
并且您可以定义 Company 使其 has_one company_config
(或 has_many company_configs
)并定义 CompanyConfig 使其 belongs_to company
当您想引用公司名称时,可以通过 my_company_config.company.companyname
访问它,尽管您最终会学会委托方法。一个非常简单的例子...
class CompanyConfig
belongs_to company
def companyname
company.companyname
end
end
...这将使您能够做到 my_company_config.companyname
但仍然只将数据存储在一个地方。