Ruby on rails Rails如何将文本框的名称而不是布尔值输入数据库?

Ruby on rails Rails如何将文本框的名称而不是布尔值输入数据库?,ruby-on-rails,Ruby On Rails,问题是我想将文本插入数据库(以及电子邮件),而不是bool 有点像c#on click-even。如果checkbox1.checked=true变量string=“复选框的名称在这里很好”。或者任何将字符串(如果有帮助的话,正好是复选框名称)放入数据库的内容(字段是字符串)。 这是视图文件 I am new to rails and to stackoverflow. 将数据转化为价值。 战略咨询和决策制定解决方案 联系我们 请填写下表开始对话。我们会尽快回复你的 表格无效

问题是我想将文本插入数据库(以及电子邮件),而不是bool

有点像c#on click-even。如果checkbox1.checked=true变量string=“复选框的名称在这里很好”。或者任何将字符串(如果有帮助的话,正好是复选框名称)放入数据库的内容(字段是字符串)。 这是视图文件

I am new to rails and to stackoverflow.

将数据转化为价值。
战略咨询和决策制定解决方案

联系我们 请填写下表开始对话。我们会尽快回复你的

表格无效






我想了解更多关于

消息

“谢谢您的消息。” 其他的 呈现“新” 如果@message.save ContactMailer.message(@message) 将_重定向到“/message”,:noitce=>“谢谢您的电子邮件。” 结束 结束 结束 def触点 email=params[“email”] #first_name=params[“first_name”] 结束 def索引 @contact=contact.new 结束 def新 @contact=contact.new email=params[“email”] 结束 def改善现金流 @改善现金流=“改善现金流” 结束 def秀 #@contact=contact.find(参数[:id]) 如果@contact.save flash[:notice]=“谢谢你的留言。” format.html{重定向到根路径} 结束 结束 def set_触点 @contact=contact.find(参数[:id]) 结束 私有的 def联系参数 参数require(:contact).permit(:email,:first_name,:last_name,:linkedin_profile,:business_name,:business_website,:message) 结束
我现在打算放弃将复选框名称输入数据库的想法。任何帮助都将不胜感激!
提前谢谢你

不幸的是,RoR没有像Webforms那样与服务器通信,因此实现您想要的解决方案可能是不可能的

Rails的方法是通过将
f.复选框
转到
复选框标签
来解除这些字段与@contact表单的关联,并在控制器中执行如下操作:

class ContactsController < ApplicationController

 def create
 params.permit!
 @contact = Contact.new(params[:contact])
   if @contact.save
    redirect_to "/contacts", :notice => "Thanks for your messsage."
   else
    render "new"
   if @message.save
   ContactMailer.message(@message).deliver_now
   redirect_to "/message", :noitce => "Thanks for your email."
  end

 end

end


def contact

email = params["email"]
#  first_name = params["first_name"]
end
def index
 @contact = Contact.new
end

def new     
   @contact = Contact.new
   email = params["email"]
end
 def improve_cash_flow 

  @improve_cash_flow = "improve_cash_flow"

 end
 def show
 # @contact = Contact.find(params[:id])
 if @contact.save
 flash[:notice] = 'Thanks for Your Message.'
 format.html {redirect_to root_path}
end
end

def set_contact
@contact=Contact.find(params[:id])



end
private
  def contact_params
   params.require(:contact).permit(:email, :first_name, :last_name,   :linkedin_profile, :business_name, :business_website, :message)
end
假设提取大日期的列已经是
string
类型

而且,我认为你不应该
允许


希望这有帮助

不幸的是,RoR没有像Webforms那样与服务器通信,因此实现您想要的解决方案可能是不可能的

Rails的方法是通过将
f.复选框
转到
复选框标签
来解除这些字段与@contact
表单的关联,并在控制器中执行如下操作:

class ContactsController < ApplicationController

 def create
 params.permit!
 @contact = Contact.new(params[:contact])
   if @contact.save
    redirect_to "/contacts", :notice => "Thanks for your messsage."
   else
    render "new"
   if @message.save
   ContactMailer.message(@message).deliver_now
   redirect_to "/message", :noitce => "Thanks for your email."
  end

 end

end


def contact

email = params["email"]
#  first_name = params["first_name"]
end
def index
 @contact = Contact.new
end

def new     
   @contact = Contact.new
   email = params["email"]
end
 def improve_cash_flow 

  @improve_cash_flow = "improve_cash_flow"

 end
 def show
 # @contact = Contact.find(params[:id])
 if @contact.save
 flash[:notice] = 'Thanks for Your Message.'
 format.html {redirect_to root_path}
end
end

def set_contact
@contact=Contact.find(params[:id])



end
private
  def contact_params
   params.require(:contact).permit(:email, :first_name, :last_name,   :linkedin_profile, :business_name, :business_website, :message)
end
假设提取大日期的列已经是
string
类型

而且,我认为你不应该
允许


希望这有帮助

多谢各位。我做得很恰当!非常感谢你。我做得很恰当!
def create
  ...
  if params[:extracting_big_data]
   contact.extracting_big_data = "extracting_big_data"
  end
  ...
  other_assignements = "other_values" if other_checks
  ...
  more_assignments
  ...
  if contact.save
    ...
  else
    ...
  end
end