-1

これは私の new.html.erb です

<%= form_for @post do |f| %>
    <%= f.text_field :title,placeholder: 'title' %>
    <%= f.hidden_field :gen_id,value: 55 %> #55 is just for testing
    <%= f.submit 'Submit' %>
<% end %>

これは私のコントローラーです

  def create
      @post = Post.find_by_id params[:gen_id]
      if @post
        @post.update(post_params)
        else
          @post = Post.new
            if @post.save!
              flash[:success] = 'Post added successfully'
              redirect_to action: :new
            else
              flash[:error] = 'Post cannot add. Please try again after some time'
               redirect_to action: :new
            end
       end
   end

上記のコードは、毎回新しいレコードを作成しています

4

1 に答える 1

3

gen_id投稿フォームの一部です。しかし、あなたはそれをトップレベルで探しています。これを行う必要があります:

@post = Post.find_by_id params[:post][:gen_id]

また

@post = Post.where(id: params[:post][:gen_id]).first
于 2013-09-22T12:47:10.307 に答える