Rails strong parameters 的参数传递问题

sensi · 2015年03月06日 · 最后由 sensi 回复于 2015年03月06日 · 1722 次阅读

一个product有很多articles,现在创建一个新的article,需要把product_id和article的参数一同传到article的controller,

我在网上始终没有找到传到article 的controller的写法.(api里面只是有一个例子传到product的controller),

请问strong parameters这部分的product_id参数部分怎么写 就是这个部分:

def article_params
          params.require(:article).premit(:title, :content)
      end

下面是请求的参数

Parameters:

{"utf8"=>"✓",
 "authenticity_token"=>"NjwASyACrLfTKqcmwSdwbWcTJlxcsrHGGmM5AoeLM2w=",
 "article"=>{"title"=>"hello",
 "content"=>"helllo"},
 "commit"=>"Create Article",
 "product_id"=>"1"}

共收到 4 条回复
def article_params
  params.require(:article).premit(:title, :content, :product_id)
end

f.hidden_field :product_id 写在 form_for or form_tag 之间,注意保证你的article模型有 product_id field.

#1楼 @flowerwrong product_id能传递了 但是提示了同样地错误 undefined method `premit' for {"title"=>"helo", "content"=>"helo", "product_id"=>"1"}:ActionController::Parameters

private
       def article_params
           params.require(:article).premit(:title, :content, :product_id)
end

#2楼 @sensi 检查你们的拼写: should be permit not premit

#3楼 @lyfi2003 糗大了 谢谢你!

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册