Forum: Ruby on Rails Ajax in rails

Posted by ruby rails (rubyonrails)
on 2012-10-02 11:58
I am building a task management application in ROR. I am new to ROR and
learning it. While adding tasks, I need to select a projects drop down
list and the team members of that project will be shown as drop down. I
am using ajax for it. But I see that in the response data I am getting
the complete htmls with header (not only the drop down htmls). Please
help.

============_form.html.erb=============================

<%= select( "project", "id", { "abc" => "1", "xyz" =>
"2"}),:onchange=>"getComboA(this)"%>

        function getComboA(sel)
     {
          var value = sel.options[sel.selectedIndex].value;
          $.get("/users_projects?id="+value,function(data) {
          alert(data);
          $("#user_1").html("<label>User Details</label>"+data);
          });
     }

=============Task Controller=================

    def users_projects
        @projs = ProjectsUser.find_all_by_project_id(params[:id])
        @users=[]
        @projs.each do |pro|
        @users<<User.find(pro.user_id)
        end
    end

===========users_projects.html.erb================

    <%if !@users.blank?%>
    <%=select_tag :user_id,options_from_collection_for_select(@users,
"id", "email")%>
    <%end%>
Posted by ruby rails (rubyonrails)
on 2012-10-02 12:01
When I am alerting data I am getting the below  htmls inserting before
select tag of team members
<html>
<head>
  <title>TaskManagement</title>
  <link href="/assets/style.css" media="screen" rel="stylesheet"
type="text/css" />
<link href="/assets/validationEngine.jquery" media="screen"
rel="stylesheet" type="text/css" />
   <script src="/assets/highcharts.js" type="text/javascript"></script>
   <script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/...
<script type="text/javascript" src="
http://ajax.googleapis.com/ajax/libs/jqueryui/1.8....

  <script src="/assets/application.js" type="text/javascript"></script>
<script src="/assets/jquery.validationEngine"
type="text/javascript"></script>
<script src="/assets/jquery.validationEngine-en"
type="text/javascript"></script>
<script src="/assets/rails.validations" type="text/javascript"></script>
<script src="/assets/rails.validations.custom"
type="text/javascript"></script>
</head>
<body>

<select id="user_id" name="user_id"><option
value="4">kkkr@gmail.com</option></select>


</body>
</html>

ruby rails wrote in post #1078321:
> I am building a task management application in ROR. I am new to ROR and
> learning it. While adding tasks, I need to select a projects drop down
> list and the team members of that project will be shown as drop down. I
> am using ajax for it. But I see that in the response data I am getting
> the complete htmls with header (not only the drop down htmls). Please
> help.
>
> ============_form.html.erb=============================
>
> <%= select( "project", "id", { "abc" => "1", "xyz" =>
> "2"}),:onchange=>"getComboA(this)"%>
>
>         function getComboA(sel)
>      {
>           var value = sel.options[sel.selectedIndex].value;
>           $.get("/users_projects?id="+value,function(data) {
>           alert(data);
>           $("#user_1").html("<label>User Details</label>"+data);
>           });
>      }
>
> =============Task Controller=================
>
>     def users_projects
>         @projs = ProjectsUser.find_all_by_project_id(params[:id])
>         @users=[]
>         @projs.each do |pro|
>         @users<<User.find(pro.user_id)
>         end
>     end
>
> ===========users_projects.html.erb================
>
>     <%if !@users.blank?%>
>     <%=select_tag :user_id,options_from_collection_for_select(@users,
> "id", "email")%>
>     <%end%>
Posted by Walter Davis (walterdavis)
on 2012-10-02 16:19
(Received via mailing list)
On Oct 2, 2012, at 5:58 AM, ruby rails wrote:

> I am building a task management application in ROR. I am new to ROR and
> learning it. While adding tasks, I need to select a projects drop down
> list and the team members of that project will be shown as drop down. I
> am using ajax for it. But I see that in the response data I am getting
> the complete htmls with header (not only the drop down htmls). Please
> help.

You need to specify to render without the outer layout in your 
controller:

render :layout => false

Walter
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.