用 Ruby 获取公司描述

Posted

技术标签:

【中文标题】用 Ruby 获取公司描述【英文标题】:get company description in Ruby 【发布时间】:2015-05-02 20:46:09 【问题描述】:

我有一个带有 companyid 和 companyname 的表 Company,以及一个用于我的公司配置的表 Config,其中包含由 rails g 脚手架生成的下拉列表中的 id、companyid、companyname 和配置

如何在创建新配置时覆盖/更改 Ruby 的保存/创建按钮? 将我的公司名称放在配置表上是否正确,或者最好将其删除并使用方法 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>

【问题讨论】:

信息太少,无法回答这个问题。你试过什么?什么没用?你的观点是什么样的?你的控制器是什么样子的? 您应该将其标记为 ruby​​-on-rails,而不是 ruby​​。 【参考方案1】:

您不应该将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,但仍将数据仅存储在一个位置。

【讨论】:

感谢我接受了答案并按照您的建议对其进行了编码

以上是关于用 Ruby 获取公司描述的主要内容,如果未能解决你的问题,请参考以下文章

使用 ruby​​ 邮件 gem 获取电子邮件正文而不获取附件

使用ruby获取商品信息并且做相应的解析处理

如何将在从控制台获取的 URL 中找到的特定字符串替换为在 Ruby 文本文件中写入的每一行中找到的文件内容?

如何在 Ruby 中获取堆栈跟踪对象?

ruby 获取给定时区的时间

获取 ruby​​ 函数对象本身