ruby与web代码结合(二)

本文介绍了一种专利信息检索系统的实现方法,包括表头筛选功能的后台控制与前端展示、通过API实现专利文档的查看全文及下载功能,以及利用Model定义方法来减少前端代码量的技术方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 表头筛选后台控制,记录选中状态:

controller方法里面:

params[:condition] ||=["appNumber","title","appDate","applicantName","lprs"]

@condition = params[:condition]

html页面代码里面:

<div class="add-content">

<p>添加选项</p>

<form name="inputs" action="/patgate/search"data-remote="true" method = "post">

<ul class="pitch-on" >

<li>

<input type="checkbox"name="condition[]" value="appNumber" class="leftcheck-top checkThis" <%='checked' if (@condition.include?"appNumber")%>/>

<label for="che1" class="lefthear">专利号</label>

</li>

<li>

<input type="checkbox"name="condition[]" value="ipc" class="leftcheck-top checkThis" id="che6" <%='checked' if(@condition.include? "ipc")%>/>

<label for="che6" class="lefthear">分类号</label>

</li>

<li class="confirm-btn" id="sure">

<input type="submit" value="确定"class="btn-set" />

</li>

</ul>

</form>

</div>


二. 通过api实现查看全文和下载全文

controller方法里面:

def ft1_test

a = PatRecord.find(params[:id])

send_data(PatApi.ft1(a.pid),:filename =>"#{a.pid}.pdf",:disposition => 'inline')

end

def ft1_test1

a = PatRecord.find(params[:id])

send_data(PatApi.ft1(a.pid),:filename =>"#{a.pid}.pdf",:disposition => 'attachment')

end

在页面显示里面,target="_blank"会在新窗口打开链接页面

<a href="/patgate/ft1_test1?id=<%=@info.id%>"target="_blank" title="" class="download-fullright">下载全文</a>

<a href="/patgate/ft1_test?id=<%=@info.id%>" target="_blank" title="" class="download-fullerright">查看全文</a>


三. 通过model定义方法缩减页面代码

model定义方法如下,self前缀表示通过类调用:

def self.select_condition

hash ={"专利号"=>"appNumber","专利名称"=>"title","申请日"=>"appDate","专利权人"=>"applicantName","法律状态"=>"lprs",

"公开(告)号"=>"pubNumber","公开(告)日"=>"pubDate","代理人"=>"agentName","代理机构"=>"agencyName","发明人"=>"inventroName",

"分类号"=>"ipc"}

end

在页面代码做如下循环:

<% PatRecord.select_condition.each do |k,v| %>

<li>

<input type="checkbox" name="condition[]"value="<%=v%>" class="left check-top checkThis"<%='checked' if (@condition.include? v)%>/>

<label for="che1" class="lefthear"><%= k %></label>

</li>

<%end%>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值