我有一個將DNA密碼子翻譯成MRNA密碼子的網站。我創建了一個不可變的不變的64行數據庫模型,其中3列使用了sqlite,然後我開始種子。基本上,我想要的是用戶輸入一個字符串到文本區域,並將字符串分解爲3個字符的字符串片段「ttcttaatt ...」 - >(dnaCodon)[ttc] [att] - >匹配返回匹配結果的數據庫(mrnaCodon)[uuc] [uua] [auu]。我在其中一個靜態頁面上創建了一個搜索表單如何在沒有軌道上的ruby視圖的情況下將路線編程到模型數據庫?
我現在在搜索表單中遇到了我的路由問題。我想查詢搜索,然後將其返回到同一頁面或不同的頁面 - 無論哪種方法更容易,更有意義。我最初創建我的數據庫沒有腳手架,因爲我不想讓用戶訪問它以進行更改。我最終創建了一個腳手架文件夾,所以我不知道爲什麼它沒有連接到數據庫。我的頁面刷新,但不會返回數據庫查詢
應用程序/控制器/ aa_data_bases_controller.rb
class AaDataBases < ApplicationController
def index
@aa_data_bases = AaDataBases.new
end
def create
if params[:search]
@aa_data_bases = AaDataBases.search(params[:search]).order("created_at DESC")
else
@aa_data_bases = AaDataBases.all.order('created_at DESC')
end
end
末
的意見/ static_pages/sequence.html.erb 它在這個靜態頁面的問題路由是,在form_tag(「/序列」... ...當我運行rails服務器的頁面加載,我可以輸入,但頁面刷新並沒有任何反應
<% provide(:title, 'Sequence') %>
<h1>Sequence</h1>
<body>
<div class="content-container-1" id="div3">
<div class="container">
<div class="row text-center">
<h3>Add your sequence here</h3>
</div>
<div class="row text-center pt mb">
<div class="col-md-6 col-md-offset-3">
<br>
<%= form_tag("/sequence", :method => "AaDataBases#index", id: "search-form") do %>
<%= text_area_tag :search, params[:search], placeholder: "Translate DNA codons...",
:size =>"75x10", class: "form-control"%>
<% @aa_data_bases.each do |match| %>
<li><%= match.mrnaCodon %></li>
<% end %>
</div>
</div>
</div>
</div>
的config/routes.rb中
Rails.application.routes.draw do
root 'static_pages#home'
match '/about', to: 'static_pages#about', via: 'get'
match '/contact', to: 'static_pages#contact', via: 'get'
match '/help', to: 'static_pages#help', via: 'get'
match '/seqresults', to: 'static_pages#seqresults', via: 'get'
match '/sequence', to: 'sequence_page#sequence', via: 'get'
get 'aa_data_bases/index'
get 'aa_data_bases/create'
end
模型/ aa_data_bases.rb
class AaDataBases < ActiveRecord::Base
def self.search(query)
where("%#{query}%")
end
end
DB
class CreateAaDataBases < ActiveRecord::Migration
def change
create_table :aa_data_bases do |t|
t.string :aaFullName
t.string :dnaCodon
t.string :mrnaCodon
t.timestamps
end
end
end
我播種的文件中,有64個項目就這樣
AaDataBases.create(aaFullName: "phenylalanine", dnaCodon:"ttt", mrnaCodon:"uuu")
AaDataBases.create(aaFullName: "phenylalanine", dnaCodon:"ttc", mrnaCodon:"uuc")
AaDataBases.create(aaFullName: "leucine", dnaCodon:"tta", mrnaCodon:"uua")
AaDataBases.create(aaFullName: "leucine", dnaCodon:"ttg", mrnaCodon:"uug")
AaDataBases.create(aaFullName: "leucine", dnaCodon:"ctt", mrnaCodon:"cuu")
AaDataBases.create(aaFullName: "leucine", dnaCodon:"ctc", mrnaCodon:"cuc")
AaDataBases.create(aaFullName: "leucine", dnaCodon:"cta", mrnaCodon:"cua")
Con troller靜態頁面 應用程序/控制器/ static_pages_controller.rb
class StaticPagesController < ApplicationController
def home
end
def help
end
def about
end
def contact
end
def seqresults
end
end
應用程序/控制器/ sequence_page_controller.rb
class SequencePageController < ApplicationController
def sequence
end
end
'/ sequence'方法路由到'static_pages'控制器的'sequence'動作。但是,您已經分享了'aa_data_bases_controller'的代碼。請分享static_pages控制器的代碼。 –
@UtsavKesharwani添加了static_pages控制器 – aspears