Search Results

Search found 7350 results on 294 pages for 'rspec rails'.

Page 218/294 | < Previous Page | 214 215 216 217 218 219 220 221 222 223 224 225  | Next Page >

  • Routing is using ID has action and action has ID after submitting a form

    - by Victor Martins
    I have a model User that has_one user_profile and a User_Profile belongs_to user in the User controller I have: def personal @user = User.find_by_id(params[:id]) @user_profile = @user.user_profile @user_profile ||= @user.build_user_profile end def update_personal @user = User.find_by_id(params[:id]) if @user.user_profile.update_attributes(params[:user_profile]) flash[:notice] = "OK" redirect_to @user else flash[:notice] = "Fail" render :action => 'update_personal' end end In my personal.html.erb view I have: <% semantic_form_for @user_profile, :url => { :action => "update_personal"} do |form| %> <%= form.inputs %> <%= form.buttons %> <%end%> And on the rountes I have: map.resources :users, :member => { :personal => :get, :update_personal => :put } Now the strange thing is that I can do: users/1/personal to see the form but when I submit I get this error: Unknown action No action responded to 1. It's trying to find an action with the name 1. Can anyone point me out on the right direction?

    Read the article

  • How to cache render :json

    - by ash34
    Hi, I have a controller index action which returns json output. render :json => my_array.to_json What type of caching do I have to use here. Does 'page caching' make sense for this. Or do I have to do action caching like below caches_action :index thanks, ash

    Read the article

  • using jquery to disable a series of radio buttons on demand.

    - by holden
    I'm trying to accomplish something similar to Wikipedia's History history page, dynamically disabling radio buttons in a series. Ie... if #4 in group two is selected, then 1-4 of group one are disabled, etc. I know how to disable them individually or as a group, but I'm not sure how to do it in a series of say 1-4: Individually: $("#version_history input[id^=versions_2_3]:radio").attr('disabled',true); or group: $("#version_history input[id^=versions_2]:radio").attr('disabled',true); The inputs are named versions_1_X and versions_2_X, X being some number. 1..2..3.. etc.

    Read the article

  • Auto populate a text field based on another text field

    - by Syed Aslam
    I am trying to auto-populate a text field based on the value of another input field. Currently trying to do this using observe_field helper like this: <%= observe_field( :account_name, :function => "alert('Name changed!')", :on => 'keyup' ) %> <% form_for(@account, :html => { :id => 'theform' }) do |f| %> <label for="accountname"> Account name </label> <%= form.text_field :name, :tabindex => '1' %> <label for="subdomain"> Subdomain </label> <%= form.text_field :subdomain, :tabindex => '2' %> <% end %> When the user enters text in the account_name text_field, I want to copy that convert into a subdomain (downcase and join by '-') and populate to subdomain text_field. But, in the process getting this error: element is null var method = element.tagName.toLowerCase(); protot...9227640 (line 3588) Where exactly am I going wrong here? Or is there a better way to do this?

    Read the article

  • Combining Searchlogic named scopes with OR

    - by jaycode
    Is something like this possible? Product.price_greater_than(10000).or_tags_name_equals('luxury') The wiki doesn't help much on this... I saw in the wiki: User.id_or_age_lt_or_username_or_first_name_begins_with(10) => "id < 10 OR age < 10 OR username LIKE 'ben%' OR first_name like'ben%'" I really don't get that, how in the world did "ben" comes up??? could anyone help please?

    Read the article

  • Where does `signup`, `login`, `register` methods come from

    - by samuil
    In this piece of code: ActionController::Routing::Routes.draw do |map| map.resources :line_items map.resources :orders map.resources :products map.resources :categories map.logout '/logout', :controller => 'sessions', :action => 'destroy' map.login '/login', :controller => 'sessions', :action => 'new' map.register '/register', :controller => 'user', :action => 'create' map.signup '/signup', :controller => 'user', :action => 'new' map.connect '/add-to-cart', :controller => 'line_items', :action => 'new' end map object has methods connect and resources called, which are described in ActionController documentation. Where are the other ones defined/described? They were generated by RESTful authentication plugin. How should I map /add-to-cart to it's action/controller, to have automatically add_to_cart_path method generated?

    Read the article

  • not getting a page reload when submitting a form on a page

    - by Bob Walsh
    When showing a project, the user can add a decision via a form_for and its partial. Is there some way of avoiding reloading the page and just creating the record silently? In the controller method (adddecision) I have: respond_to do |format| if @decision.save format.html { redirect_to(@project) } format.xml { head :ok } else format.html { render :action => "show" } format.xml { render :xml => decision.errors, :status => :unprocessable_entity } end I've tried redirect_to(:back) etc - still getting a page reload.

    Read the article

  • Authlogic remember_me on signup

    - by Lee
    We want to have remember_me enabled when the user signs up. When logging in its really easy to do this, how do to we do this on signup though, as we're literally only creating a User object?

    Read the article

  • Connection error with heroku db:push with postgresql

    - by Toby Hede
    I have suddenly started seeing this strange error when trying to push my database to heroku. > heroku db:push Auto-detected local database: postgres://infinity:infinity@localhost/infinity_development?encoding=utf8 Failed to connect to database: Sequel::DatabaseConnectionError -> TypeError wrong argument type String (expected Array) My app works fine - the credentials are all set locally.

    Read the article

  • How do I search for a phrase using search logic?

    - by fivetwentysix
    Imagine case scenario, you have a list of recipes that have ingredients as a text. You want to see how many recipes contain "sesame oil". The problem with default searchlogic searching using Recipe.ingredients_like("sesame oil") is that any recipe with sesame OR oil would come up, when I'm searching for sesame+oil.

    Read the article

  • Git push origin master

    - by user306472
    I posted this question early yesterday, but the thread seems to have died out. For reference, see http://stackoverflow.com/questions/2619117/git-push-origin-master . Here's the low-down: I'm new to git. I just set up an account with github and I followed all their instructions flawlessly until I got to the last command of git push origin master Upon entering this command, I get the error message "fatal: No path specified. See 'man git-pull' for valid url syntax." If I type in git origin show the output I see is origin. If I type in git remote -n show the output is * remote origin URL: [email protected]: HEAD branch: (not queried) Local ref configured for 'git push' (status not queried): (matching) pushes to (matching) Please help me get to the bottom of this.

    Read the article

  • Doing will_paginate pages calculation around a record

    - by Anderson De Andrade
    I'm displaying a list of events. I wanted displayed the page with the events for today by default. That was easy accomplished by: page = number_of_records_before_RECORD / number_of_pages + 1 Now I want to display the first item of today's events as the first item in that page. Maybe there is a way to generate page numbers around a record with negative values to get back.

    Read the article

  • alias_attribute and creating and method with the original attribute name causes a loop

    - by Tiago
    Im trying to dynamically create a method chain in one attribute in my model. By now I have this function: def create_filtered_attribute(attribute_name) alias_attribute "#{attribute_name}_without_filter", attribute_name define_method "#{attribute_name}" do filter_words(self.send("#{attribute_name}_without_filter")) end end so I receive a string with the attribute name, alias it for '*_without_filter*' (alias_method or alias_method_chain fails here, because the attribute isnt there when the class is created), and I create a new method with the attribute name, where I filter its contents. But somehow, when I call *"#{attribute_name}_without_filter"* it calls my new method (i think because the alias_attribute some how), and the program goes into a stack loop. Can someone please enlighten me on this.

    Read the article

  • jQuery selectors - parental problems

    - by aressidi
    Hi there, I have an emote selector that opens up when a user clicks an entry in a diary. The way I've worked it is that the emote selector panel lives hidden at the top of the page. When a user clicks on the 'emote control' associated with an entry, I use JavaScript to grab the HTML of the emote selector panel from the top of the page and insert it next to the entry. Using Firebug, here's what the finished product would look like in the page (snippet from element inspect). I'm trying to get the ID for the class 'emote-control-container' which contains the entry id: <td> <div id="1467002" class="emote-select emote-default">&nbsp;</div> <div class="emote-control-container" id="emote-controls-1467002"> <div id="emote-control-selector"> <div id="emote-control-selector-body"> <ul> <li id="emote-1"><img src="/images/default_emote.gif?1276134900" class="emote-image" alt="Default_emote"></li> <li id="emote-2"><img src="/images/default_emote.gif?1276134900" class="emote-image" alt="Default_emote"></li> <li id="emote-3"><img src="/images/default_emote.gif?1276134900" class="emote-image" alt="Default_emote"></li> <li id="emote-4"><img src="/images/default_emote.gif?1276134900" class="emote-image" alt="Default_emote"></li> </ul> </div> <div id="emote-control-selector-footer"> &nbsp; </div> </div> </div> </td> I need the entry ID along with the emote ID to make a post via AJAX when a user selects an emote from the selector panel by clicking on it. I'm able to get the emote ID just fine with this, which I'm using to alert-out the selected emote ID: jQuery('li').live('click', function(e) { e.preventDefault; var emoteId = this.id; alert(emoteId); }); I'm having trouble traversing up DOM to get the element ID from '.emote-control-container. I've tried everything, but I'd expect this to work, but it doesn't: jQuery('li').live('click', function(e) { e.preventDefault; var entryId = jQuery(this.id).parent(".emote-control-container").attr("id"); alert(entryId); }); What am I doing wrong.? I can't target the ID of the .emote-control-container.

    Read the article

  • Passing hash as values in hidden_field_tag

    - by funkymunky
    I am trying to pass some filters in my params through a form like so: hidden_field_tag "filters", params[:filters] For some reason the params get changed in the next page. For example, if params[:filters] used to be... "filters"={"name_like_any"=["apple"]} [1] ...it gets changed to... "filters"="{\"name_like_any\"=[\"apple\"]}" [2] note the extra quotations and backslashes in [2] when compared to [1]. Any ideas? I'm attempting to use this with searchlogic for some filtering, but I need it to persist when I change change objects in forms. I would prefer not to have to store it in session.

    Read the article

  • please convert this PHP code in ruby

    - by Arpit Vaishnav
    <?php // amcharts.com export to image utility // set image type (gif/png/jpeg) $imgtype = 'jpeg'; // set image quality (from 0 to 100, not applicable to gif) $imgquality = 100; // get data from $_POST or $_GET ? $data = &$_POST; // get image dimensions $width = (int) $data['width']; $height = (int) $data['height']; // create image object $img = imagecreatetruecolor($width, $height); // populate image with pixels for ($y = 0; $y < $height; $y++) { // innitialize $x = 0; // get row data $row = explode(',', $data['r'.$y]); // place row pixels $cnt = sizeof($row); for ($r = 0; $r < $cnt; $r++) { // get pixel(s) data $pixel = explode(':', $row[$r]); // get color $pixel[0] = str_pad($pixel[0], 6, '0', STR_PAD_LEFT); $cr = hexdec(substr($pixel[0], 0, 2)); $cg = hexdec(substr($pixel[0], 2, 2)); $cb = hexdec(substr($pixel[0], 4, 2)); // allocate color $color = imagecolorallocate($img, $cr, $cg, $cb); // place repeating pixels $repeat = isset($pixel[1]) ? (int) $pixel[1] : 1; for ($c = 0; $c < $repeat; $c++) { // place pixel imagesetpixel($img, $x, $y, $color); // iterate column $x++; } } } // set proper content type header('Content-type: image/'.$imgtype); header('Content-Disposition: attachment; filename="chart.'.$imgtype.'"'); // stream image $function = 'image'.$imgtype; if ($imgtype == 'gif') { $function($img); } else { $function($img, null, $imgquality); } // destroy imagedestroy($img); ?

    Read the article

  • Iterating Over Params Hash

    - by Joe Clark
    I'm having an extremely frustrating time getting some images to upload. They are obviously being uploaded as rack/multipart but the way that I'm iterating over my params hash must be causing the problem. I could REALLY use some help, so I can stop pulling out my hair. So I've got a params hash that looks like this: Parameters: {"commit"=>"Submit", "sighting_report"=>[{"number_seen"=>"1", "picture"=>#<File:/var/folders/IX/IXXrbzpCHkq68OuyY-yoI++++TI/-Tmp-/RackMultipart.85991.5>, "species_id"=>"2"}], "authenticity_token"=>"u0eN5MAfvGWtfEzrqBt4qfrL54VJ9SGX0jFLZCJ8iRM=", "sighting"=>{"sighting_date(2i)"=>"6", "name"=>"", "sighting_date(3i)"=>"5", "county"=>"0", "notes"=>"", "location"=>"", "sighting_date(1i)"=>"2010", "email"=>""}} My form can have multiple sighting reports with multiple pictures in each sighting report. Here's my controller code: def create_multiple @report = Report.new @report.name = params[:sighting]["name"] @report.sighting_date = Date.civil(params[:sighting][:"sighting_date(1i)"].to_i, params[:sighting][:"sighting_date(2i)"].to_i, params[:sighting][:"sighting_date(3i)"].to_i) @report.county_id = params[:sighting][:county] @report.location = params[:sighting][:location] @report.notes = params[:sighting][:notes] @report.email = params[:sighting][:email] @report.save! @report.reload for sr in params[:sighting_report] do sighting = SightingReport.new sighting.report_id = @report.id sighting.species_id = sr[:species_id] sighting.number_seen = sr[:number_seen] sighting.save if sr[:picture] sighting.reload for pic in sr[:picture] do p = SpeciesPic.new p.uploaded_picture = pic p.species_id = sighting.species_id p.report_id = @report.id p.save! end end end redirect_to :action => 'new_multiple' end

    Read the article

  • Image rendering on browser or temporary images?

    - by Muralha
    I'm trying to make a statistics page where it will show several data and charts. The charts need to be pictures so that the user can save it/drag-and-drop to his/her personal reports. I'm using Gruff Graphs for Ruby to produce the charts but I don't know the best way to display the results safe and protected. Some of my ideas/tries are: save the chart to a file (jpg, png)? problem: data is available to anyone (don't have access to cron, to delete data from time to time) render in the browser (has to work on IE)? Use javascript (Raphaël—JavaScript Library) or Google API and output a PDF report (need plugin or gem, right)? use send_data? i've tried to output other way than inline, because I needs to show other data, is it possible? Thanks for any help.

    Read the article

  • Fragment caching

    - by red5
    I would like to fragment cache part of a page. On the view I have <% cache("saved_area") do %> . <% end -%> In the controller: def index read_fragment("saved_area") end In config/production: config.cache_store = :file_store, File.join(RAILS_ROOT, 'tmp', 'cache') The file was created in the tmp/cache directory. But I am not sure if the cache is being used in the request, since I presume there should be a line in the log stating that the cache is being used (and there is not).

    Read the article

  • named_scope or find_by_sql?

    - by keruilin
    I have three models: User Award Trophy The associations are: User has many awards Trophy has many awards Award belongs to user Award belongs to trophy User has many trophies through awards Therefore, user_id is a fk in awards, and trophy_id is a fk in awards. In the Trophy model, which is an STI model, there's a trophy_type column. I want to return a list of users who have been awarded a specific trophy -- (trophy_type = 'GoldTrophy'). Users can be awarded the same trophy more than once. (I don't want distinct results.) Can I use a named_scope? How about chaining them? Or do I need to use find_by_sql? Either way, how would I code it?

    Read the article

  • CruiseControl.rb: Error in plugin EmailNotifier: 501 5.1.7 Bad sender address syntax?

    - by Justin
    Hi guys, I can't seem to figure this out. I setup my email address in cruisecontrol.rb but no matter how I set it, it always gives me this error. Current settings are: project/cruise_config.rb: project.email_notifier.emails = ['[email protected]'] project.email_notifier.from = '[email protected]' site_config.rb: ActionMailer::Base.smtp_settings = { :address => "localhost", :domain => "myemail.com", } I've even tried ActionMailer::Base.delivery_method = :sendmail Configuration.email_from = '[email protected]' Any thoughts as to why my cruisecontrol can't send an e-mail? Thanks! Justin

    Read the article

  • How do I debug this javascript -- I don't get an error in Firebug but it's not working as expected.

    - by Angela
    I installed the plugin better-edit-in-place (http://github.com/nakajima/better-edit-in-place) but I dont' seem to be able to make it work. The plugin creates javascript, and also automatically creates a rel and class. The expected behavior is to make an edit-in-place, but it currently is not. Nothing happens when I mouse over. When I use firebug, it is rendering the value to be edited correctly: <span rel="/emails/1" id="email_1_days" class="editable">7</span> And it is showing the full javascript which should work on class editable. I didn't copy everything, just the chunks that seemed should be operationable if I have a class name in the DOM. // Editable: Better in-place-editing // http://github.com/nakajima/nakatype/wikis/better-edit-in-place-editable-js var Editable = Class.create({ initialize: function(element, options) { this.element = $(element); Object.extend(this, options); // Set default values for options this.editField = this.editField || {}; this.editField.type = this.editField.type || 'input'; this.onLoading = this.onLoading || Prototype.emptyFunction; this.onComplete = this.onComplete || Prototype.emptyFunction; this.field = this.parseField(); this.value = this.element.innerHTML; this.setupForm(); this.setupBehaviors(); }, // In order to parse the field correctly, it's necessary that the element // you want to edit in place for have an id of (model_name)_(id)_(field_name). // For example, if you want to edit the "caption" field in a "Photo" model, // your id should be something like "photo_#{@photo.id}_caption". // If you want to edit the "comment_body" field in a "MemberBlogPost" model, // it would be: "member_blog_post_#{@member_blog_post.id}_comment_body" parseField: function() { var matches = this.element.id.match(/(.*)_\d*_(.*)/); this.modelName = matches[1]; this.fieldName = matches[2]; if (this.editField.foreignKey) this.fieldName += '_id'; return this.modelName + '[' + this.fieldName + ']'; }, // Create the editing form for the editable and inserts it after the element. // If window._token is defined, then we add a hidden element that contains the // authenticity_token for the AJAX request. setupForm: function() { this.editForm = new Element('form', { 'action': this.element.readAttribute('rel'), 'style':'display:none', 'class':'in-place-editor' }); this.setupInputElement(); if (this.editField.tag != 'select') { this.saveInput = new Element('input', { type:'submit', value: Editable.options.saveText }); if (this.submitButtonClass) this.saveInput.addClassName(this.submitButtonClass); this.cancelLink = new Element('a', { href:'#' }).update(Editable.options.cancelText); if (this.cancelButtonClass) this.cancelLink.addClassName(this.cancelButtonClass); } var methodInput = new Element('input', { type:'hidden', value:'put', name:'_method' }); if (typeof(window._token) != 'undefined') { this.editForm.insert(new Element('input', { type: 'hidden', value: window._token, name: 'authenticity_token' })); } this.editForm.insert(this.editField.element); if (this.editField.type != 'select') { this.editForm.insert(this.saveInput); this.editForm.insert(this.cancelLink); } this.editForm.insert(methodInput); this.element.insert({ after: this.editForm }); }, // Create input element - text input, text area or select box. setupInputElement: function() { this.editField.element = new Element(this.editField.type, { 'name':this.field, 'id':('edit_' + this.element.id) }); if(this.editField['class']) this.editField.element.addClassName(this.editField['class']); if(this.editField.type == 'select') { // Create options var options = this.editField.options.map(function(option) { return new Option(option[0], option[1]); }); // And assign them to select element options.each(function(option, index) { this.editField.element.options[index] = options[index]; }.bind(this)); // Set selected option try { this.editField.element.selectedIndex = $A(this.editField.element.options).find(function(option) { return option.text == this.element.innerHTML; }.bind(this)).index; } catch(e) { this.editField.element.selectedIndex = 0; } // Set event handlers to automaticall submit form when option is changed this.editField.element.observe('blur', this.cancel.bind(this)); this.editField.element.observe('change', this.save.bind(this)); } else { // Copy value of the element to the input this.editField.element.value = this.element.innerHTML; } }, // Sets up event handles for editable. setupBehaviors: function() { this.element.observe('click', this.edit.bindAsEventListener(this)); if (this.saveInput) this.editForm.observe('submit', this.save.bindAsEventListener(this)); if (this.cancelLink) this.cancelLink.observe('click', this.cancel.bindAsEventListener(this)); }, // Event Handler that activates form and hides element. edit: function(event) { this.element.hide(); this.editForm.show(); this.editField.element.activate ? this.editField.element.activate() : this.editField.element.focus(); if (event) event.stop(); }, // Event handler that makes request to server, then handles a JSON response. save: function(event) { var pars = this.editForm.serialize(true); var url = this.editForm.readAttribute('action'); this.editForm.disable(); new Ajax.Request(url + ".json", { method: 'put', parameters: pars, onSuccess: function(transport) { var json = transport.responseText.evalJSON(); var value; if (json[this.modelName]) { value = json[this.modelName][this.fieldName]; } else { value = json[this.fieldName]; } // If we're using foreign key, read value from the form // instead of displaying foreign key ID if (this.editField.foreignKey) { value = $A(this.editField.element.options).find(function(option) { return option.value == value; }).text; } this.value = value; this.editField.element.value = this.value; this.element.update(this.value); this.editForm.enable(); if (Editable.afterSave) { Editable.afterSave(this); } this.cancel(); }.bind(this), onFailure: function(transport) { this.cancel(); alert("Your change could not be saved."); }.bind(this), onLoading: this.onLoading.bind(this), onComplete: this.onComplete.bind(this) }); if (event) { event.stop(); } }, // Event handler that restores original editable value and hides form. cancel: function(event) { this.element.show(); this.editField.element.value = this.value; this.editForm.hide(); if (event) { event.stop(); } }, // Removes editable behavior from an element. clobber: function() { this.element.stopObserving('click'); try { this.editForm.remove(); delete(this); } catch(e) { delete(this); } } }); // Editable class methods. Object.extend(Editable, { options: { saveText: 'Save', cancelText: 'Cancel' }, create: function(element) { new Editable(element); }, setupAll: function(klass) { klass = klass || '.editable'; $$(klass).each(Editable.create); } }); But when I point my mouse at the element, no in-place-editing action!

    Read the article

< Previous Page | 214 215 216 217 218 219 220 221 222 223 224 225  | Next Page >