2017-01-15 4 views
-1

私はテキストフィールドタグを自動入力することができましたが、<%の代わりに<%私のデータベースにどのような提案?new.html.erbでテキストフィールドタグを自動入力し、作成アクションを使用してデータベースに保存する方法

<%= @low["lowest_price"] %> 
     <%= form_tag "/bids", method: :post do %> 
     <div> 
     <%= label_tag :bid, "place your bid " %> 
     <%= text_field_tag :bid %> 
     </div> 
     <div> 
     <% label_tag :event %> 
     <% text_field_tag :event_id, params[:id] %> 
     </div> 

     <div> 
     <% label_tag :user_id %> 
     <% text_field_tag :user_id, current_user.id %> 
     </div> 

     <div> 
     <%= label_tag :lowest_price %> 
     <%= text_field_tag :lowest_price, @low["lowest_price"] %> 
     </div> 
     <%= submit_tag "Submit" %> 

     <% end %> 

相続人はどこの入札は、私はときにテキストフィールド言ったようにこれに取り組んでいます表示されます。このフォームは、相続人

 def create 
    @bidd = Bid.new(event_id: params[:event_id], user_id:  

     params[:user_id], bid: params[:bid], lowest_price:  

     params[:lowest_price]) 


if session[:user_id] == current_user.id 
    @bidd.save 
    flash[:success] = "bid created." 
    redirect_to "https://stackoverflow.com/users/#{current_user.id}" 
else 
    flash[:warning] = 'please sign in' 
    redirect_to '/login' 
end 

ページのユーザショーのページに接続されている入札コントローラ内のアクションを作成手動で追加されます。あなたが<%を使用する場合は、ブラウザがそれを自動入力することはできませんので、タグをHTMLに挿入されることはありません

<% @bidds.each do |a| %> 
      <p>event: <%= a.event_id %></p> 
      <p>Price: <%= a.bid %></p> 

答えて

0

hidden fieldを使用できます。私はあなたのcurrent_user.idのための隠しフィールドを使用していないだろうしかし

<%= hidden_field_tag :event_id, params[:id] %> 

は、それは非常に悪い習慣です、あなたはすでにあなたのセッションでそれへのアクセス権を持っています。

+0

代替手段として何を使用しますか?申し訳ありません、私はちょうどレールプロジェクトを作ることを学び始めました –

+0

あなたがcurrent_user.idを意味するなら、あなたのコントローラ 'session [:user_id]'にすでにアクセスできます。 – Iceman

+0

助けてくれてうれしいです。ちょうどヒント、あなたは本当にあなたのコードを少しきれいにする必要があります。そして、 'form_tag'の代わりに' form_for @ bid'を使って調べてみましょう。 http://guides.rubyonrails.org/form_helpers.html – Iceman

-1

+0

この情報を非表示にして、ユーザーがイベントIDと現在の最低価格を入力しないようにして、テキストフィールドタグを使用しないで、私の作成メソッドを変更しますか? –

+0

作成アクションを変更する必要があります。 – MSathieu

+0

私はテキストフィールドのタグwouldntは、私はこの状況では、代わりにevent_idと現在の最低価格の両方のアイデアは私の入札モデルの両方の属性であり、ユーザーのユーザーに帰属する多くの入札を持っています。ユーザーはevent_idを入力する必要はありません。user_idと現在の価格は、入札が作成されたときに生成され保存されます。ユーザーが入力するのは入札単価です。 –

関連する問題