1

なぜだか理解できない

Product.new(params[:product]) 

私のコントローラーでパラメーター:idを使用してidをnullとして保存しますか? 私は2つのパラメータを持つフォームを持っています。:id および :des コンソールを使用する場合

r = Product.new r.id = ... r.des= ... r.save

すべてOKですが、params :desを使用すると、ベースに保存され、保存された:idはnullになります。これがコントローラーであるいくつかのコードを追加します

class ProductsController < ApplicationController
def index
    @pr = Product.find(:all)
end
def new
    @pr = Product.new()
end
def create
    @pr = Product.new(params[:product])
    if @pr.save
        flash[:notice] = "All OK"
        redirect_to products_path
    else
        flash[:notice] = "Errors"
        redirect_to products_path
    end

end end

そしてこれがフォーム

<%= form_for @pr do |f| %>
<%= f.label :id %> <br>
<%= f.number_field :id %><br>
<%= f.label :des%> <br>
<%= f.text_area :des%> <br>
<%= f.submit %>
<% end %>

id`s I need fill manualy ---------------- MY OWN ANSWER ------ コントローラにこの文字列 \ を追加します

@pr.id = params[:product][:id]

しかし、なぜ機能しないのですか

@pr = Product.new(params[:product])

わかりません。

4

0 に答える 0