Search Results

Search found 39635 results on 1586 pages for 'nested function'.

Page 592/1586 | < Previous Page | 588 589 590 591 592 593 594 595 596 597 598 599  | Next Page >

  • I have a parse error in my php code

    - by user1421767
    I have a piece of code which I am struggling on. I want the onclick function to display the "Question" row in the function but when I place '$questionrow['QuestionContent']' within the brackets, it is giving me an error stating: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /xxx7/Mobile_app/previousquestions.php on line 119 How do I place the QuestionContent within the brackets correctly in function below: onclick='parent.addwindow('$questionrow['QuestionContent']');'>Add</button> Below is whole code: <?php $output = ""; while ($questionrow = mysql_fetch_assoc($questionresult)) { $output .= " <table> <tr> <td class='questiontd'>{$questionrow['QuestionContent']}</td> <td class='addtd'><button type='button' class='add' onclick='parent.addwindow('$questionrow['QuestionContent']');'>Add</button></td> </tr>"; } $output .= " </table>"; echo $output; ?>

    Read the article

  • Set bounds for markers generated by jQuery table loop?

    - by abemonkey
    I have some jQuery code that goes through a table of location results and puts corresponding pins on a map. I am having trouble figuring out how to set the bounds so that when it goes through the loop and generates the markers on the map that it zooms and pans to fit the markers in the view. I've tried implementing code from some similar questions on this site but nothing seems to be working. Please let me know what code I should be using and where the heck I should put it in my script: $(function() { var latlng = new google.maps.LatLng(44, 44); var settings = { zoom: 15, center: latlng, disableDefaultUI: false, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map_canvas"), settings); $('tr').each(function(i) { var the_marker = new google.maps.Marker({ title: $(this).find('.views-field-title').text(), map: map, clickable: true, position: new google.maps.LatLng( parseFloat($(this).find('.views-field-latitude').text()), parseFloat($(this).find('.views-field-longitude').text()) ) }); var infowindow = new google.maps.InfoWindow({ content: $(this).find('.views-field-title').text() + $(this).find('.adr').text() }); new google.maps.event.addListener(the_marker, 'click', function() { infowindow.open(map, the_marker); }); }); }); `

    Read the article

  • jQuery not working as expected on HTTPS Internet explorer

    - by jat
    When I try to run my code on any other webbrowsers apart from the Internet explorer it works fine. But when I try to run the code on Internet explorer I do get an alert box saying HERE along with an Ok button. but the problem is when I click on that OK button I do not get anything. Ideally I should be getting another alert box. <!DOCTYPE html> <html> <head> <script src="js/jquery-1.4.2.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#submit").click(function(event) { alert("here"); $.post('process.php', {name:'test1',email:'test.com'}, function(data) { $('#results').html(data); alert(data); }); }); }); </script> </head> <body> <form name="myform" id="myform" action="" method="POST"> <label for="name" id="name_label">Name</label> <input type="text" name="name" id="name" size="30" value=""/> <br> <label for="email" id="email_label">Email</label> <input type="text" name="email" id="email" size="30" value=""/> <br> <input type="button" name="submit" id="submit" value="Submit"> </form> <div id="results"><div> </body> </html> Any help on this is very much appreciated. Edit: I found out that Internet Explorer which has HTTP works perfectly fine but not on Internet Explorer which uses HTTPS.

    Read the article

  • Is there a jQuery Equivalent of YUI 2 Custom Event Publish/Subscribe Event Model?

    - by Abe
    Hello! I learned how to develop in Javascript using the YUI 2 library and was wondering if there is a jQuery equivalent of Custom Events (http://developer.yahoo.com/yui/event/#customevent) Specifically, I want to be able to define custom events without having to attach the listeners initially. In YUI, I would create a page class and declare different custom events that can be subscribed to. Below is some example code to demonstrate what I want to do, but with jQuery function ListPage() { var me = this; this.initEvent = new YAHOO.util.CustomEvent("initEvent"); this.init = function() { // initialize events, DOM, etc this.initEvent.fire(me); } } In application Javascript, I would then like to subscribe to the initEvent. var page = new ListPage(); page.initEvent.subscribe( function (type, args) { // do stuff here } ); page.init(); Are there any tutorials/examples of something this in jQuery? I understand I can do something similar using bind() and trigger(), but the impression I get is I have to pass in the event handler when I call bind(). Is it possible in jQuery to create the custom event, but pass in the event handler later? I hope my question makes sense. thanks!

    Read the article

  • jQuery .die isnt killing an attached event?

    - by adam
    Hi I've just started experimenting with .live and .die and having some great results but one thing isn't working. I've been tinkering with firebugs console to try out my written code live to see if i can figure out the reason why .die isn't killing off an attached event. First if i do this //attach ajax submission $('a[href$=edit]').live("click", function(event) { $.get($(this).attr("href"), null, null); return false; }); Then as expected when I click on a link the ajax fires off and my server side code injects a form for inline editing. But sometimes I want to disable this behaviour and also make the link unclickable so I do the following //unbind ajax form creation when we click on a link, then disable its semantic behaviour $('a[href$=edit]').die("click").click( function(){ return false; } ); which works but if then try to remove this and restore that ajax goodness with the code below it doesn't work, Instead the link remains unclickable. I cant figure out why? Can anyone help? //remove any previous events from the links $('a[href$=edit]').die(); //attach ajax submission $('a[href$=edit]').live("click", function(event) { $.get($(this).attr("href"), null, null); return false; });

    Read the article

  • Where to add an overloaded operator for the tr1::array?

    - by phlipsy
    Since I need to add an operator& for the std::tr1::array<bool, N> I wrote the following lines template<std::size_t N> std::tr1::array<bool, N> operator& (const std::tr1::array<bool, N>& a, const std::tr1::array<bool, N>& b) { std::tr1::array<bool, N> result; std::transform(a.begin(), a.end(), b.begin(), result.begin(), std::logical_and<bool>()); return result; } Now I don't know in which namespace I've to put this function. I considered the std namespace as a restricted area. Only total specialization and overloaded function templates are allowed to be added by the user. Putting it into the global namespace isn't "allowed" either in order to prevent pollution of the global namespace and clashes with other declarations. And finally putting this function into the namespace of the project doesn't work since the compiler won't find it there. What had I best do? I don't want to write a new array class putted into the project namespace. Because in this case the compiler would find the right namespace via argument dependent name lookup. Or is this the only possible way because writing a new operator for existing classes means extending their interfaces and this isn't allowed either for standard classes?

    Read the article

  • Permission Denied error in IE when closing popups

    - by Kenia
    Hi everyone! I have a simple web testing application which is supposed to open and close several popups by itself (without user interaction). For this purpose i have a javascript function to access the variable where the popup reference is stored and close it if it´s not null, fairly simple. However I get random errors in IE (in FF it works as expected, all popups are closed correctly) like Message: No such interface supported Line: 86 Char: 3 Code: 0 URI: http://10.10.0.61:10000/savmailer/adm/tests/common_tests_code.js and Message: Permission denied Line: 86 Char: 3 Code: 0 URI: http://10.10.0.61:10000/savmailer/adm/tests/common_tests_code.js The line 86 references exactly the point at which I do popup.close(); in the following function function closePopupWindow(popup){ if (popup != null) { popup.close(); popup = null; } } I have googled and it seems this permission denied error is quite common to come through among IE developers, however there´s no clear solution for it, it´s just a matter of changing the code slightly "to please" IE, so to speak. However i have no idea how to change mine since it´s just 3 lines! Tried also to change the security browser settings by adding my domain to the trusted zone, but nothing, doesn't help either. If anyone has any helpful idea or notices something i might be forgetting, please, reply to this! Thanks in advance, Kenia

    Read the article

  • optimized search using ajax and keypress

    - by ooo
    i have the following code as i want to search a database as a user is typing into a textbox. This code below works fine but it seems a little inefficient as if a user is typing really fast, i am potentially doing many more searches than necessary. So if a user is typing in "sailing" i am searching on "sail", "saili", "sailin", and "sailing" i wanted to see if there was a way to detect any particular time between keypresses so only search if user stops typing for 500 milliseconds or something like this. is there a best practices for something like this? $('#searchString').keypress(function(e) { if (e.keyCode == 13) { var url = '/Tracker/Search/' + $("#searchString").val(); $.get(url, function(data) { $('div#results').html(data); $('#results').show(); }); } else { var existingString = $("#searchString").val(); if (existingString.length > 2) { var url = '/Tracker/Search/' + existingString; $.get(url, function(data) { $('div#results').html(data); $('#results').show(); }); } }

    Read the article

  • how can i replace an image (inside a div) through jquery and ajax.

    - by oo
    I am trying to click on an image and change it to another image through jquery. When i step through the below code, on the serverside, the controller action fires and on the client side, i can see the correct html return in firebug watch window but the image doesn't change at all. any idea why this div is not updating? original div: <div class="inlineDiv" toggle="off" id="22"><img src="../../images/vote-favorite-off1.png" border="0"></div> jquery code: $(document).ready(function() { $('div.inlineDiv').live('click', function() { var id = $(this).attr("id"); var toggle = $(this).attr("toggle"); var url = '/Tracker/Update?id=' + id + '&toggle=' + toggle; $.get(url, function(data) { $(this).html(data); }); }); }); controller action: public ActionResult Update(int id, string toggle) { if (toggle == "off") { return Content("<img src='../../images/vote-favorite-on1.png' border=0'>"); } return Content("<img src='../../images/vote-favorite-off1.png' border=0'>"); }

    Read the article

  • c# Wrapper to native c++ code, wrapping a parameter which is a pointer to an array

    - by mb300dturbo
    Hi, I have the following simple DLL in c++ un-managed code; extern "C" __declspec(dllexport) void ArrayMultiplier(float (*pointerArray)[3], int scalar, int length); void ArrayMultiplier(float (*pointerArray)[3], int scalar, int length) { for (int i = 0 ; i < length ; length++) { for (int j = 0; j < 3; j++) { pointerArray[i][j] = pointerArray[i][j] * scalar; } } } I have tried writing the following wrapper function for the above in c#: [DllImport("sample.dll")] public static extern void ArrayMultiplier(ref float elements, int scalar, int length); where elements is a 2 dimentional 3x3 array: public float[][] elements = { new float[] {2,5,3}, new float [] {4,8,6}, new float [] {5,28,3} }; The code given above compiles, but the program crashes when the wrapper function is called: Wrapper.ArrayMultiplier(ref elements, scalar, length); Please help me here, and tell me whats wrong with the code above, or how a wrapper can be written for a simple c++ function: void SimpleFunction(float (*pointerToArray)[3]); Thank you all in advance

    Read the article

  • jquery: How to deal with 'this' in ajax callbacks

    - by Svish
    I currently have code similar to this for a form: $('#some-form') .submit(function() { // Make sure we are not already busy if($(this).data('busy')) return false; $(this).data('busy', true); // Do post $.post("some/url", $(this).serialize(), function(data) { if(data.success) // Success is a boolean I set in the result on the server { // Deal with data } else { // Display error } $('#some-form') .removeData('busy'); }); return false; }); My issue is that I would like to somehow remove the need for knowing the form id in the post callback. In the end where I remove the busy data from the form, I'd like to somehow not have that hard coded. Is there any way I can do this? Is there a way I can hand whatever is in this to the post callback function? Since I know the id right now, I can get around it by doing what I have done, but I'd like to know how to not be dependant on knowing the id, since often I don't have an id. (For example if I have a link in each row in a table and all the rows have the same click handler.

    Read the article

  • jquery .children() returning wrong size

    - by i need help
    Hi guys, I just found the children size not consistent. Below attach full code with alert, for easy reference. Is the way I get the data wrong? <body> <table width="100" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="30" valign="top"><strong>Header Title</strong></td> </tr> <tr> <td height="32" valign="top">Date : <strong>01/01/2010 </strong> <br><div><b></b></div><span></span></td> </tr> </table> </body> $("td").each(function() { alert($(this).children().size()); }); //first td showing 1 direct children- <strong> //second td showing 4 direct children- <strong> <br> <div> <span> ----- $("tr").each(function() { alert($(this).children().size()); }); //first tr showing 1 direct children - <td> //second tr showing 1 direct children - <td> ----- $("table").each(function() { alert($(this).children().size()); }); // ERROR // this table showing 1 direct children only.... something WRONG. // I thought there are 2 <tr> inside this table?

    Read the article

  • Input In Java- How does it work?

    - by Nir Avnon
    Hey guys, with a lot of help from you i was managed to write this nice code (I'm new in it, so kind of exciting.. :) ) And still I have not understand how can I input this code. first of all, I get an this error in the console line (I'm using Eclipse): Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at NumberConverter.main(NumberConverter.java:5). What does that mean? I just want to chack whether it works, and I can't call the function/program any how. I used to call in an "old fashion way", like in scheme, to the function that I wrote and see if something happens. How does it work in java? Do we call the program itself? function? what and where do we write? -I want to chack if it works, doesn't matter how, and I'll be glad to know how can I plugin input. Thank you so much! public class NumberConverter{ public static void main(String[] args) { int i = Integer.parseInt(args[0]); toBinary(i); toOctal(i); toHex(i); } public static void toBinary(int int1){ System.out.println(int1 + " in binary is"); System.out.println(Integer.toBinaryString(int1)); } public static void toOctal(int int1){ System.out.println(int1 + " in octal is"); System.out.println(Integer.toOctalString(int1)); } public static void toHex(int int1){ System.out.println(int1 + " in hex is"); System.out.println(Integer.toHexString(int1)); } }

    Read the article

  • Animate absolutely positioned div, but stop if a condition is true?

    - by Alex
    Hello all, I have a div which I place at the top right-hand corner of a website, absolutely positioned at top: 0px and right : 0px. I want to use jquery's animate function to animate the div left or right a certain amount when a button is clicked, but stop the animation if at anytime, the div's offset to the left or right is less than a certain number. I want to do this to accomodate users who click the left or right buttons more than once, so that the div does not fly out of sight. How does one accomplish this? Below is my relevant css, html, and jquery code: CSS: #scorecardTwo { position:absolute; padding:5px; width: 300px; background-color:#E1E1E1; right:0px; top:0px; display:none; } HTML: <div id = "scorecardTwo"> <span id = "dealHolder"><a href="some/link">some text</a></span> <br /> <span id = "scoreHolder">some text</span> <br /> <button type="button" id="moveLeft">Left</button>&nbsp;<button type="button" id="moveRight">Right</button> </div> jQuery (at the moment): $("#scorecardTwo").fadeIn("slow"); $("#moveLeft").bind("click", function() { $("#scorecardTwo").animate({"right":"+=76%"}, "slow"); // how to stop animation if offset is less than appropriate number? }); $("#moveRight").bind("click", function() { $("#scorecardTwo").animate({"right" : "-=76%"}, "slow"); // how to stop animation if offset is less than appropriate number? });

    Read the article

  • listener not being called

    - by deb
    I have a table with a button. When the button is clicked I call Modalbox.show (http://okonet.ru/projects/modalbox/) that displays a little form with another button. When the user clicks this second button, a listener is attached to an iframe in the form and the form is submitted to the server. The server does something then it should return back to the form and execute the listener function. This works fine on IE but not in Firefox (on Firefox it never comes back). Here it is the javascript function that is called when the user presses the second button (in the Modalbox) function attachFile() { //window.frames['upload_iframe'].name='upload_iframe'; iframe = document.getElementById('upload_iframe'); if (iframe.addEventListener)//FF iframe.addEventListener("load", iframeEventHandler, false); if (iframe.attachEvent)//IE iframe.attachEvent("onload", iframeEventHandler); // Set properties of form... form = document.getElementById('attchForm'); form.setAttribute("target","upload_iframe"); form.setAttribute("method","post"); form.setAttribute("enctype","multipart/form-data"); form.setAttribute("encoding","multipart/form-data"); // Submit the form... form.submit(); } I checked that it is adding the listener but somehow does not return to it. Any hints? Thanks deb

    Read the article

  • Add new Formelemts and transform it with jqtransform

    - by user545782
    I'm just trying to change my formfields with jqtransform. With the following Javascript Code, i add new formfields: <script type="text/javascript"> $(function() { var scntDiv = $('#p_scents'); var i = $('#p_scents p').size() + 1; $('#addScnt').live('click', function() { if(i < 4){ $('<p>\n\ <label for="p_scnts">\n\ <input type="text" id="p_scnt" size="17" name="fmac' + i +'[]" value="" />\n\ <select name="fmac' + i +'[]" size="1" id="p_scnt_a">\n\ <option selected value="K">KABEL</option>\n\ <option value="W">WLAN</option>\n\ <option value="V">VPN</option>\n\ </select>\n\ </label>\n\ </p>').appendTo(scntDiv); i++; } if(i > 3 ){ $('#showaddmac').hide(); } return false; }); $('#remScnt').live('click', function() { if( i > 2 ) { $(this).parents('p').remove(); i--; } if(i < 4 ){ $('#showaddmac').show(); } return false; }); }); </script> this works with out problemes, but the new fields will be not transformed. Does anyone know a solution to the problem? Sry for my bad english :)

    Read the article

  • Password value on click is not changing the text to 'Password'

    - by Sam
    window.onload=function() { var password = document.getElementById('apassword'); var real = document.getElementById('password'); var fake = document.createElement('input'); fake.setAttribute('type', 'text'); /*fake.setAttribute('id', 'password');*/ fake.setAttribute('class', 'contact-input contact-right'); password.appendChild(fake); fake.setAttribute('value', 'Password'); fake.onfocus = function() {this.style.display='none';real.style.display=''; real.focus();}; real.style.display = 'none'; real.setAttribute('value', ''); real.onblur = function() {if(this.value==''){this.style.display='none';fake.style.display=''}}; }; AND <label id="apassword"> <input type="password" title="Password" id="password" class="contact-input contact-right" name="password" /> </label> What is supposed to happen is that when you click on the input box, it changes from 'Password' to a blank type="password" input box, however it doesn't happen. This originally worked, but then I had to change some ID's and classes etc. I'm not sure how to debug scripts, so hopefully someone can help me with that, and also with my question :). Thankyou :).

    Read the article

  • Calling Multiple functions simultaneously

    - by Noob
    I'm trying to call two different functions for two different HTML elements at the same time, but the second function isn't being read at all. I'm also trying to use the id to specify which corresponding elements to grab data from. Here's what I have: function changeImage(id) { var s = document.getElementById('showcase'); var simg = s.getElementsByTagName('img'); var slen = simg.length; for(i=0; i < slen; i++) { simg[i].style.display = 'none'; } $('#' + id).fadeIn('slow', 0); function createComment(jim) { //alert('hello?'); var d = document.getElementById('description'); var dh = document.getElementsByTagName('p'); var dlen = dh.length; //alert(dh); for(i=0; i < dlen; i++) { alert(dh); dh[i].style.display = 'none'; } $('#' + jim).fadeIn('slow', 0); }

    Read the article

  • javascript countdown clock

    - by roi
    <script> var interval; var minutes = 1; var seconds = 5; window.onload = function() { countdown('countdown'); } function countdown(element) { interval = setInterval(function() { var el = document.getElementById(element); if(seconds == 0) { if(minutes == 0) { el.innerHTML = "countdown's over!"; clearInterval(interval); return; } else { minutes--; seconds = 60; } } if(minutes > 0) { var minute_text = minutes + (minutes > 1 ? ' minutes' : ' minute'); } else { var minute_text = ''; } var second_text = seconds > 1 ? 'seconds' : 'second'; el.innerHTML = minute_text + ' ' + seconds + ' ' + second_text + ' remaining'; seconds--; }, 1000); } </script> this is a good countdown clock and i want to show the time in datalist how do i do it? like in this site www.1buy1.co.il

    Read the article

  • how to pass value to controller??

    - by rajesh
    When I try to pass url value to controller action, action is not getting the required value. I'm sending the value like this: function value(url,id) { alert(url); document.getElementById('rating').innerHTML=id; var params = 'artist='+id; alert(params); // var newurl='http://localhost/songs_full/public/eslresult/ratesong/userid/1/id/27'; var myAjax = new Ajax.Request(newurl,{method: 'post',parameters:params,onComplete: loadResponse}); //var myAjax = new Ajax.Request(url,{method:'POST',parameters:params,onComplete: load}); //alert(myAjax); } function load(http) { alert('success'); } and in the controller I have: public function ratesongAction() { $user=$_POST['rating']; echo $user; $post= $this->getRequest()->getPost(); //echo $post; $ratesongid= $this->_getParam('id'); } But still not getting the result. I am using zend framework.

    Read the article

  • Codeigniter: validation problem

    - by krike
    For some reason a user can login with any password, first I thought I forgot to check for the password but I didn't... and I just cant find the problem here is the model: /*#######################################################*/ function validate() /*#######################################################*/ { $this->db->where('username', $this->input->post('username')); $this->db->where('password', md5($this->input->post('password'))); $q = $this->db->get('user_extra'); if($q->num_rows() == 1): return true; else: return false; endif; }//end of function validate() The controller /*#######################################################*/ function validate_credentials() /*#######################################################*/ { $this->load->model('membership_model'); $this->load->library('form_validation'); $this->form_validation->set_rules('username', 'Name', 'trim|required'); $this->form_validation->set_rules('password', 'password', 'trim|required'); if(!$this->membership_model->validate()): $this->form_validation->set_message('check_login', 'Login not correct, please try again.'); endif; if($this->form_validation->run() == FALSE): $this->index(); else: $this->membership_model->userinfo($this->input->post('username')); //should redirect to last view redirect($this->session->flashdata('redirect_url')); endif; }// end of validate_credentials()

    Read the article

  • Undefined test not working in javascript.

    - by James South
    I'm getting the error 'foo' is undefined. in my script when i test my function with an undefined parameter. As far as I understand, This shouldn't be happening. My calling code: //var foo var test = peachUI().stringIsNullOrEmpty(foo) ; My function (part of a larger framework). stringIsNullOrEmpty: function (testString) { /// <summary> /// Checks to see if a given string is null or empty. /// </summary> /// <param name="testString" type="String"> /// The string check against. /// </param> /// <returns type="Boolean" /> var $empty = true; if (typeof testString !== "undefined") { if (testString && typeof testString === "string") { if (testString.length > 0) { $empty = false; } } } return $empty; } Any ideas? Please note. I've had a good read of other similar questions before posting this one.

    Read the article

  • do functions in sql server have different permissions rules?

    - by jcollum
    Here's the situation. I'm writing an automated test that walks the list of dependencies for a proc and determines if an acct has rights for all of the dependent objects. My code looks like this: exec sp_depends 'the_proc_name' -- run this query on the results of sp_depends: select case when exists ( select * from sys.database_permissions dp where grantee_principal_id=USER_ID('TheAccount') and major_id=object_id('dbo.theDependentObject') and minor_id=0 and state_desc = 'GRANT') then 'true' else 'false' end; It all seems to be working fine, but there's a hiccup when it encounters a function. I have one case where TheAccount doesn't have rights to a function (the query above returns false). However the proc that calls the function in question runs fine when running under TheAccount. So there's either something wrong with my test code or functions have special permission behavior in SQL-Server that I'm not aware of. Should I change the code to only search for 'DENY' instead of 'GRANT'? Do functions that are called in procs inherit the permissions of the calling proc except when the execute rights are explicitly denied? Does my code suck?

    Read the article

  • jQuery: responding to click event of element added to document after page load

    - by morpheous
    I am writing a page which uses a lot of in situ editing and updating using jQuery for AJAX. I have come accross a problem which can best be summarised by the workflow described below: Clicking on 'element1' on the page results in a jQuery AJAX POST Data is received in json format The data received in json format The received data is used to update an existing element 'results' in the page The received data is actual an HTML form I want jQuery to be responsible for POSTing the form when the form button is clicked The problem arises at point 6 above. I have code in my main page which looks like this: $(document).ready(function(){ $('img#inserted_form_btn').click(function(){ $.ajax({'type: 'POST', 'url': 'www.example.com', function($data){ $(data.id).html($data.frm); }), 'dataType': 'json'} }); }); However, the event is not being triggered. I think this is because when the document is first loaded, the img#inserted_form_btn element does not exist on the page (it is inserted into the DOM as the result of an element being clicked on the page (not shown in the code above - to keep the question short) My question therefore is: how can I get jQuery to be able to respond to events occuring in elements that were added to the DOM AFTER the page has loaded?

    Read the article

  • Rails 3 MySQL 2 reports an error in what looks to be valid SQL syntax

    - by John Judd
    I am trying to use the following bit of code to help in seeding my database. I need to add data continually over development and do not want to have to completely reseed data every time I add something new to the seeds.rb file. So I added the following function to insert the data if it doesn't already exist. def AddSetting(group, name, value, desc) Admin::Setting.create({group: group, name: name, value: value, description: desc}) unless Admin::Setting.find_by_sql("SELECT * FROM admin_settings WHERE group = '#{group}' AND name = '#{name}';").exists? end AddSetting('google', 'analytics_id', '', 'The ID of your Google Analytics account.') AddSetting('general', 'page_title', '', '') AddSetting('general', 'tag_line', '', '') This function is included in the db/seeds.rb file. Is this the right way to do this? However I am getting the following error when I try to run it through rake. rake aborted! Mysql2::Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group = 'google' AND name = 'analytics_id'' at line 1: SELECT * FROM admin_settings WHERE group = 'google' AND name = 'analytics_id'; Tasks: TOP => db:seed (See full trace by running task with --trace) Process finished with exit code 1 What is confusing me is that I am generating correct SQL as far as I can tell. In fact my code generates the SQL and I pass that to the find_by_sql function for the model, Rails itself can't be changing the SQL, or is it? SELECT * FROM admin_settings WHERE group = 'google' AND name = 'analytics_id'; I've written a lot of SQL over the years and I've looked through similar questions here. Maybe I've missed something, but I cannot see it.

    Read the article

< Previous Page | 588 589 590 591 592 593 594 595 596 597 598 599  | Next Page >