2017-06-12 12 views
1

私がしようとしているのは、自分のオブジェクトの1つの値だけを更新することです。私は自分自身で値を設定するときにこの部分を行うことができましたが、ユーザーに必要な値を入力させ、その値を使用して属性を更新させようとしています。update_attributesにユーザーが入力した値を使用します。

<td><%= text_field(:referent, :titre, size: 20) %> 
<%= link_to(referent.titre, referent_path(referent, "referent[titre]" => "Changed"), :method => :put) %></td> 

は今、私はそれに「変更」の値を持っており、それはそれは私の属性titreの値を変更しますが、私はtext_fieldから値を取得する方法を見つけ出すとでそれを置くことができない作品これは、それはあなたがフォーム結果を提出するが、代わりに別のページにリンクしたURLに力価のためのparamを設定しているようには見えません。私のupdate方法

def update 
    @referents = Referent.find(params[:id]) 
    if @referents.update_attributes(referent_params) 
    end 
end 

答えて

2

ある

を「変更」の場所。このお試しください:完璧に動作

<%=form_for @referents do |f| %> 
<%=f.label :titre%> 
<%=f.text_field :titre, size: 20%> 
<%=f.submit%> 
+0

を、そんなにありがとう:D – CNuts

+1

は、テキストボックスの値に「変更」の値を変更する方法を見つけ出すことができない理由に言えば、:あなたが終わる何ハードなHTMLは動的ではありません。あなたはあなたの同じ設定を保つことができ、その代わりに入力時にJS内のそのパラメータを更新するためにJSを使用することができますが、私はそれを完全に推奨します。 form_for @objectは、モデルデータを変更するための「レール」方法です。チャンスが得られたら、platformatecからsimple_formをチェックアウトする必要があります。 – toastytheog

関連する問題