一. 表头筛选后台控制,记录选中状态:
在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%>