index.html.erb ビューに次のフォーム フィールドがあります。
<%= form_tag("/calls/call", :method => "post") do %>
<br />
<%= text_field_tag(:call_to, "Number to call") %>
<br />
<%= text_field_tag(:call_from, "Number to call from") %>
<br />
<%= submit_tag("Dial") %></a>
<br />
<% end %>
モデルの検証を使用せずに (モデルがないため)、10 桁の米国の電話番号のみを許可するようにフィールドを制約したいと考えています。
これを行うには多くの方法があると思いますが、最も簡単に実装できる方法は何だと思いますか?
「active_attr」ジェムを使用してみましたが、うまくいきませんでした。「active_attr」を使用して、Call というモデルを作成しました。モデルは次のようになります。
class Call
include ActiveAttr::Model
attribute :call_to
attribute :call_from
# attr_accessible :call_to, :call_from
validates_presence_of :call_to
validates_presence_of :call_from
end
私のコントローラーは次のようになります。
class CallsController < ApplicationController
def call
call_to = params["call_to"]
call_from = params["call_from"]
call_to.to_i
call_from.to_i
puts call_to
puts call_from
end
end
コントローラーで Call クラスのインスタンスをインスタンス化するか、それらの行に沿って何かをインスタンス化する必要がありますか?
@call = Call.new
前もって感謝します!