why strong parameters for the CREATE, but not NEW, in a rails controller? -


i confused why, in example articles controller, create method utilizing strong parameters, new method isn't?

   def new         @article = article.new     end      def create         @article = article.new(article_param)         if @article.save             redirect_to @article         else             render "new"         end     end 

because strong_parameters there whitelist params before update or create record. while on new or edit action there not action on db records, , isn't necessary whitelist params. on update , create controller actions there action on db, , parameters not whitelisted forbidden.

also rails guides show same definition: "with strong parameters, action controller parameters forbidden used in active model mass assignments until have been whitelisted. means you'll have make conscious choice attributes allow mass updating , prevent accidentally exposing shouldn't exposed."

the common example when: in browser can edit field name , change <input name=user[name] ...> <input name=user[admin] ...> @ form change value '1' , submit. without strong parameters user[:admin] valid parameter , changed @ database. further, @ new or edit action, there no risk of impact on db, because sending form browser.


Comments

Popular posts from this blog

php - failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request -

java - How to filter a backspace keyboard input -

java - Show Soft Keyboard when EditText Appears -