問題が次々と発生していますが、プロジェクトの完成まであと少しです!!
これで、Ruby on Rails プログラムが完成し、動作するようになりました。今、私はそれをHTMLテンプレートに統合しようとしています..
最終的にグラフィックスとテンプレートを適切にロードできるようになりましたが、それは開始ページであるため、index.html.erb ページに対してのみです。ここでの問題は、コントローラ ファイルから " result "として定義されたページが正しく表示されないことです。簡単に修正できるように見えますが、方法がわかりません。結果の形式に基づいてインライン css スタイルが適切に機能しているように見えますが、私の style.css の画像とスタイリングは現在テンプレート用にロードされていません (インデックス用を除く)。
images ディレクトリを public のサブディレクトリとして配置します。私も style.css を公開しています。
テンプレートの HTML コーディングを含む「 customerdisplay.html.erb」というビューのページがあります。そのファイルの div タグの 1 つは、外部スタイルシートのカスタム div ですが、そのタグを使用するときは、配置も中央に設定します。センタリングは機能しますが、外部スタイルシートの他のすべてが機能していません。
参照用にコントローラー コードとビュー コードを追加します。
私の質問:
外部スタイルシートと画像をコントローラ ファイルの "def result" で機能させるにはどうすればよいですか?
myRuby_controller.rb
class MyRubyController < ApplicationController
def index
# the first user screen is displayed:
# index.html.erb in views/myRuby directory
# This controller is executed
end
def result
# when the user presses submit, result is called
@data = params[:data] # The data text field
@field = params[:field] # the request
# check for nondigits in the data
if @data =~ /\D/
# if a nondigit, invalid.html.erb is displayed
render :action => 'invalid'
else # valid data
case @field # check the request
when "cu" then # customer data request
# Verify that customer is in the customer table
if Customer.exists?(@data)
# exists, display custdisply.html.erb
render :action => 'custdisplay'
else
# does not, display notfound.html.erb
render :action => 'notfound'
end
when "sr" then # sales rep request
if Customer.exists?(@data)
# exists, display salesrepdisplay.html.erb
render :action => 'salesrepdisplay'
else
# does not, display notfound.html.erb
render :action => 'notfound'
end
when "or" then #orders request
if Customer.exists?(@data)
# exists, display orderdisplay.html.erb
render :action => 'orderdisplay'
else
# does not, display notfound.html.erb
render :action => 'notfound'
end
when "p" then #parts request
if Customer.exists?(@data)
# exists, display partsdisplay.html.erb
render :action => 'partsdisplay'
else
# does not, display notfound.html.erb
render :action => 'notfound'
end
end # end case
end # end if valid data
end
def custdisplay
end
def salesrepdisplay
end
def orderdisplay
end
def partsdisplay
end
def notfound
end
def invalid
end
end
ビュー/customerdisplay.html.erb
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://gmpg.org/xfn/11">
<link rel="stylesheet" type="text/css" href="style.css">
<title>The Justin Geis Data Access Program</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<div id="logo"><img src="images/logo.png"></div>
<div id="container">
<div id="header">
<!--blank.. could add stuff if wanted.. -->
</div>
<div id="content" align="center">
<h1>Spartan Hardware Data Access</h1>
<% # get the customer data from the customer table
@custdata = Customer.find(@data)
# copy each field into a variable for display
@id = @custdata.id
@ln = @custdata.last_name
@fn = @custdata.first_name
@bl = @custdata.balance;
@bl = sprintf("%7.2f",@bl) # format as currency
@cl = @custdata.credit_limit
@cl = sprintf("%7.2f",@cl) # format as currency
@sr = @custdata.sales_rep
%>
<h1>customer data for customer: <%=@data %></h1>
<table border=1>
<tr>
<td>ID</td>
<td>Last name</td>
<td>First name</td>
<td>Balance</td>
<td>Credit limit</td>
<td>Sales rep</td>
</tr>
<tr>
<td><%=@id%></td>
<td><%=@ln%></td>
<td><%=@fn%></td>
<td><%=@bl%></td>
<td><%=@cl%></td>
<td><%=@sr%></td>
</tr>
</table>
</div>
<div id="footer"><!--nothing right now --></div>
</div>
</body>
</html>