2017-05-31 100 views
1

我使用一个隐藏的标签中的form_for到控制器。它没有将价值传递给控制器​​。我更新了params.require以允许该字段,但由于某种原因它没有通过该值。传递PARAMS使用的form_for不传递参数

我得到我的控制台上的消息:引发ArgumentError(错误的参数数目(1给出,预计2)

posts_controller.rb

def confirm  
    @post = Post.find_by(id: params[:id]) 
    @post.toggle!(:confirm) 
    @post.update_attribute(props: params[:props]) 
    redirect_to root_url 
end 

feed.html.erb

<%= form_for @post, :html => {:class => "form-inline"}, url: confirm_post_path(feed), method: :patch, :remote=>true do |f| %> 

    <div class="form-group"> 
    <label class="sr-only"><%= f.label :props %></label> 
    <%= f.select :props, ['one', 'two', 'three'], class: 'form-control', prompt: "Give Prop" %> 
    </div> 

    <div class="form-group"> 
    <%= f.submit "Confirm", class: "btn-primary btn-xs form-control" %> 
    </div> 
<% end %> 
+0

时,你的要求是什么打印控制台? –

+0

'隐藏标签'?标签不利于形成我加入我的问题控制台请求提交值... – wesley6j

+0

@SebastiánPalma。那是你在找什么? –

回答

1

我忽略了一些简单的我强PARAMS被评为post_parms所以我改变:

@post.update_attribute(props: params[:props]) 

@post.update_attribute(:props, post_params[:props])