Home > Enterprise >  Rails | Ajax Response, from Controller
Rails | Ajax Response, from Controller

Time:08-17

Got a partial view successfully interacting with my coffee script. Collection_Select change triggers script & resulting value is correct, Controller does hit def new successfully.

Only question remaining is how to access the results of the coffee script in the controller.

Partial View:

<% @modName = locals[:moduleName] %>
<% @id = locals[:id] %>
<%= form_with url: admin_command_path() do |f| %>
    <%= collection_select(:refcode, :Code, Command.where(FLD: @modName), :Code, :Definition, options ={prompt: true}) %>
    <br /><br />
    <button >
        <%= link_to "Execute", new_admin_command_path(mod: @modName, id: @id) %>
    </button>
<% end %>

Coffee Script:

get_SubModule = ->
    $('#refcode_Code').change (e) ->
      com_value = $('#refcode_Code').val()
      console.log 'COFFEEE IS LIFE', com_value
      str = $('#refcode_Code :selected').text()
      data: {sub_mod_str: com_value}
      return
    return

So now what.

ActiveAdmin.register Command do

def new
 [need to access sub_mod_str here however possible]
end

CodePudding user response:

I think when you Change value you need call Ajax and request controller

get_SubModule = ->
    $('#refcode_Code').change (e) ->
      com_value = $('#refcode_Code').val()
      console.log 'COFFEEE IS LIFE', com_value
      str = $('#refcode_Code :selected').text()
      data: {sub_mod_str: com_value}
      $.ajax(
        type: 'POST'
        url: your_url
        data: data
        dataType: 'json'
        success: (data) =>
          console.log(data)
        error: (er) =>
          console.log(er)
        )
      return
    return

Controller

def new
 byebug // check params
end
  • Related