On Friday, October 4, 2019 at 6:32:20 AM UTC-4, Avdhesh Sharma (ROR) wrote:
>
> Because in form_tag we don't define scope so all parameters comes in 
> params directry.
> so you need to fix *item_params* method
> *params.permit(:item_type)* to permit parameters
>
> your's item_params method is written to permit this params structure
> {item: {item_type: q}
>
> On Friday, October 4, 2019 at 1:13:11 PM UTC+5:30, fugee ohu wrote:
>>
>> <%= form_tag new_item_path, :method => :get do %>
>>
>>   <div class="field">
>>         <%= select_tag(:item_type, options_for_select(Item::ITEM_TYPES)) 
>> %>
>>   </div>
>>
>> <div class="actions">
>>     <%= submit_tag "New item" %>
>> </div>
>>
>> ActionController::ParameterMissing in ItemsController#new param is 
>> missing or the value is empty: item
>>
>> In my controller I have the usual filter
>>     def item_params
>>       params.require(:item).permit(:item_type, :title,  :item_id, 
>> item_ids: [])
>>     end
>> ...
>> Started GET "/items/new?item_type=General&commit=New+item&utf8=%E2%9C%93" 
>> for 127.0.0.1 at 2019-10-04 03:32:18 -0400
>> Processing by ItemsController#new as HTML
>>   Parameters: {"item_type"=>"General", "commit"=>"New item", "utf8"=>"✓"}
>> Completed 400 Bad Request in 2ms (ActiveRecord: 0.0ms)
>>
>>
>>   
>> ActionController::ParameterMissing (param is missing or the value is 
>> empty: item):
>>   
>> app/controllers/items_controller.rb:109:in `item_params'
>> app/controllers/items_controller.rb:23:in `new'
>>  ...
>>
>
What does this do?
      if params.fetch(:item, {}).fetch(:item_type, false)

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/52be0f6e-0e44-4a9a-aefb-38a3eb7a555d%40googlegroups.com.

Reply via email to