Search Results

Search found 10764 results on 431 pages for 'extending ruby'.

Page 339/431 | < Previous Page | 335 336 337 338 339 340 341 342 343 344 345 346  | Next Page >

  • What is Rails way to DRY up the controller pattern of verifying :id is for a valid object (else redirect to error page)

    - by jpwynn
    One of my controllers has close to 100 methods (eg routes) and nearly every one starts out the same code to redirect to an error page if the id param is invalid, followed by a similar check if the user that id doesn't belong in the user's account: def something @foo = Foo.find_by_guid(params[:id]) unless @foo @msg ||= { :title => 'No such page!', :desc => "There is no such page!" } render :action => "error" and return end unless @foo.owner_id == current_user.id @msg ||= { :title => 'Really?', :desc => "There is no such page." } render :action => "error" and return end What is the best way to DRY up that sort of page id and owner id validation, given the code is doing a render ... and return? What I don't want to do at this point is offload it to a blackbox roles and permissions library like CanCan... my goal is simply to have the in-app code to handle this be as clean as possible.

    Read the article

  • dependent: :destroy is not deleting dependencies from views

    - by jxdx
    Projects have many rooms. When I delete a project from the view, the associated rooms are not deleted. Rooms also have many products which should also be deleted when a project is deleted. Project class class Project < ActiveRecord::Base belongs_to :user has_many :rooms, dependent: :destroy has_many :products, through: :rooms end Projects Controller class ProjectsController < ApplicationController def destroy @project = current_user.projects.find(params[:id]) if @project.delete redirect_to user_projects_path(@project.user) end end end Rooms Controller class RoomsController < ApplicationController def destroy @room = Room.find(params[:id]) if @room.delete redirect_to root_path end end The delete link in the projects show view. = link_to "Delete", project_room_path(room.project, room), method: :delete, data: { confirm: "Are you sure?" }, title: room.title, class: "btn btn-danger"

    Read the article

  • Prototype 'on show' Event.observe handler

    - by ryan
    I am trying to make an AJAX request that updates a div's content when that div is shown. My initial thought was to use an Event observer that watched for a div to be shown, but I cannot seem to find an appropriate handler. Is there an easy way to make an AJAX request for an element 'on show?'

    Read the article

  • Rails 3 - Ideal way to set title of pages

    - by akfalcon
    Whats the proper way to set the page title in rails 3. Currently I'm doing the following: app/views/layouts/application.html .... <%= render_title % <%= csrf_meta_tag % .... app/helpers/application_helper.rb ... def render_title return @title if defined?(@title) "Generic Page Title" end ... app/controllers/some_controller.rb ... def show @title = "some custom page title" ... end ... Is there another/better way of doing the above?

    Read the article

  • Rails - single ID for multiple models

    - by user352351
    I'm building an app which will allow a user to scan the barcode on a 'shelf', 'box' or 'product' which will then bring up that particular item or all the associated items. As these are all separate models with their own ID's, I need a global ID table. I was thinking of a polymorphic table called 'barcodes' barcodes id barcode_number barcodable Is there an easy way to do this? Or is polymorphic the best way?

    Read the article

  • undefined method `code' for nil:NilClass message with rails and a legacy database

    - by Jude Osborn
    I'm setting up a very simple rails 3 application to view data in a legacy MySQL database. The legacy database is mostly rails ORM compatible, except that foreign key fields are pluralized. For example, my "orders" table has a foreign key field to the "companies" table called "companies_id" (rather than "company_id"). So naturally I'm having to use the ":foreign_key" attribute of "belongs_to" to set the field name manually. I haven't used rails in a few years, but I'm pretty sure I'm doing everything right, yet I get the following error when trying to access "order.currency.code": undefined method `code' for nil:NilClass This is a very simple application so far. The only thing I've done is generate the application and a bunch of scaffolds for each of the legacy database tables. Then I've gone into some of the models to make adjustments to accommodate the above mentioned difference in database naming conventions, and added some fields to the views. That's it. No funny business. So my database tables look like this (relevant fields only): orders ------ id description invoice_number currencies_id currencies ---------- id code description My Order model looks like this: class Order < ActiveRecord::Base belongs_to :currency, :foreign_key=>'currencies_id' end My Currency model looks like this: class Currency < ActiveRecord::Base has_many :orders end The relevant view snippet looks like this: <% @orders.each do |order| %> <tr> <td><%= order.description %></td> <td><%= order.invoice_number %></td> <td><%= order.currency.code %></td> </tr> <% end %> I'm completely out of ideas. Any suggestions?

    Read the article

  • Dynamically generating method names in rails

    - by badnaam
    I need to generate links in my views using the url helpers such as user_path(@user), the catch is, in some cases I don't know what model I am creating this link for i.e. whether it is a user or a store or someting else I would like to be able to determine this on the fly and call the appropriate view helper, currently I am doing the following, but I am wondering if there is a drier way of doing it. if object.class == "Store" store_path(object) elsif object.class == "User" user_path(object) ...etc

    Read the article

  • extended permissions

    - by melimoreno
    Hi i'm doing a fb app that update the status box(what's in your mind), i'm using set_status from facebooker .. first i have this error: set_status needs extended permission so i google it and find this: before_filter :ensure_has_status_update .. so i put it in my controller and that solves the problem, but when i try to update the status, all ways redirect me to a fb page that says: You have already granted permissions to this application. so i go to the controller comment before_filter :ensure_has_status_update and then go to my app again and it works.. so i want to do this if (has_status_update == false) ask for permision else update the status i google it for a long time but i can't find an answer..

    Read the article

  • Rails - before_save that includes updated object

    - by Sam
    I have a before_save that calculates a percentage that needs to include the object that is being updated. Is there a one-liner in Rails that takes care of this? for example and this is totally made up: Object.find(:all, :include => :updated_object) Currently I'm sending the object that is getting updated to the definition that calculates the percentage and that works but it's making things messy.

    Read the article

  • Test Redirection with RSpec and Capybara (Rails)

    - by balanv
    I just have learnt how cool RSpec and Cabybara is, and now working around it to learn writing actual test. I am trying to check if after clicking a link, there is a redirection to a specific page. Below is the scenario 1) I have a page /projects/list - I have an anchor with html "Back" and it links to /projects/show Below is the test i wrote in rspec describe "Sample" do describe "GET /projects/list" do it "sample test" do visit "/projects/list" click_link "Back" assert_redirected_to "/projects/show" end end end The test fails with a failure message like below Failure/Error: assert_redirected_to "/projects/show" ArgumentError: @request must be an ActionDispatch::Request Please suggest me on how i should test the redirection and what am i doing wrong?

    Read the article

  • date in future for Rails

    - by Adnan
    Hello, I am trying to make a validation that will validate that the entered date is in future and that the selected date is in the next 7 days. In order to validate if the date is in future I use; valid_until.future? and this one works fine, but to make a validation to check if the date selected is withing 7 days from now?

    Read the article

  • Updating cached counts in MySQL

    - by phleet
    In order to fix a bug, I have to iterate over all the rows in a table, updating a cached count of children to what its real value should be. The structure of the things in the table form a tree. In rails, the following does what I want: Thing.all.each do |th| Thing.connection.update( " UPDATE #{Thing.quoted_table_name} SET children_count = #{th.children.count} WHERE id = #{th.id} " ) end Is there any way of doing this in a single MySQL query? Alternatively, is there any way of doing this in multiple queries, but in pure MySQL? I want something like UPDATE table_name SET children_count = ( SELECT COUNT(*) FROM table_name AS tbl WHERE tbl.parent_id = table_name.id ) except the above doesn't work (I understand why it doesn't).

    Read the article

  • Getting a loop when using link_to :back

    - by onildo
    I have this structure for the table course: Search page - Result Page - Edit Page - Show page When i go from result page to a specific course edit page, i edit it, and end up on the show page, but when i hit back, i get a loop from show to edit, and back to show and so on. I want the edit page to back to the result page if it came from there. im using this on both: <%= link_to "Back", :back %>

    Read the article

  • How to detect if an element exists in Watir

    - by Rijksband
    Hi, I'm relatively new to Watir but can find no good documentation (examples) regarding how to check if an element exists. There are the API specs, of course, but these make precious little sense to me if I don't find an example. I've tried both combinations but nothing seems to work... if browser.image (:src "/media/images/icons/reviewertools/editreview.jpg").exists then... if browser.image (:src "/media/images/icons/reviewertools/editreview.jpg").exists? then... If anyone has a concrete suggestion as per how to implement this, please help! Thanks!

    Read the article

  • No route matches - after login attempt - even though the route exists?

    - by datorum
    I am working on a rails application and added a simple login system according to a book. I created the controller admin: rails generate controller admin login logout index It added the following routes to routes.db get "admin/login" get "admin/logout" get "admin/index" I can got to http://localhost:3000/admin/login there is no problem at all. But when I try to login I get: No route matches "/admin/login"! Now, the first confusing part is that the "login" method of my AdminController is not executed at all. The second confusing part is that this code works like a charm - redirects everything to /admin/login: def authorize unless User.find_by_id(session[:user_id]) flash[:notice] = "you need to login" redirect_to :controller => 'admin', :action => 'login' end end Sidenotes: I restarted the server several times. I tried a different browser - to be sure there is no caching problem.

    Read the article

  • How to test processing a list of files within a directory using RSpec?

    - by John Topley
    I'm pretty new to the world of RSpec. I'm writing a RubyGem that processes a list of files within a specified directory and any sub-directories. Specifically, it will use Find.find and append the files to an Array for later output. I'd like to write a spec to test this behaviour but don't really know where to start in terms of faking a directory of files and stubbing Find.find etc. This is what little I have so far: it "should return a list of files within the specified directory" do end Any help much appreciated!

    Read the article

  • Doing a DELETE request from <a> tag without constructing forms?

    - by Mike Trpcic
    Is there any way to force an <a href> to do a delete request when clicked instead of a regular GET? The "Rails" way is to dynamically generate a <form> tag that adds the appropriate params so that it gets routed to the right place, however I'm not too fond of that much DOM manipulation for such a simple task. I thought about going the route of something like: $("a.delete").click(function(){ var do_refresh = false; $.ajax({ type: "DELETE", url: "my/path/to/delete", success: function(){ do_refresh = true; }, failure: function(){ alert("There is an error"); } }); return do_return; //If this is false, no refresh would happen. If it //is true, it will do a page refresh. }); I'm not sure if the above AJAX stuff will work, as it's just theoretical. Is there any way to go about this? Note: Please don't recommend that I use the rails :method => :delete on link_to, as I'm trying to get away from using the rails helpers in many senses as they pollute your DOM with obtrusive javascript. I'd like this solution to be put in an external JS file and be included as needed.

    Read the article

  • How do I create a self referential association (self join) in a single class using ActiveRecord in Rails?

    - by Daniel Chang
    I am trying to create a self join table that represents a list of customers who can refer each other (perhaps to a product or a program). I am trying to limit my model to just one class, "Customer". The schema is: create_table "customers", force: true do |t| t.string "name" t.integer "referring_customer_id" t.datetime "created_at" t.datetime "updated_at" end add_index "customers", ["referring_customer_id"], name: "index_customers_on_referring_customer_id" My model is: class Customer < ActiveRecord::Base has_many :referrals, class_name: "Customer", foreign_key: "referring_customer_id", conditions: {:referring_customer_id => :id} belongs_to :referring_customer, class_name: "Customer", foreign_key: "referring_customer_id" end I have no problem accessing a customer's referring_customer: @customer.referring_customer.name ... returns the name of the customer that referred @customer. However, I keep getting an empty array when accessing referrals: @customer.referrals ... returns []. I ran binding.pry to see what SQL was being run, given a customer who has a "referer" and should have several referrals. This is the SQL being executed. Customer Load (0.3ms) SELECT "customers".* FROM "customers" WHERE "customers"."id" = ? ORDER BY "customers"."id" ASC LIMIT 1 [["id", 2]] Customer Exists (0.2ms) SELECT 1 AS one FROM "customers" WHERE "customers"."referring_customer_id" = ? AND "customers"."referring_customer_id" = 'id' LIMIT 1 [["referring_customer_id", 3]] I'm a bit lost and am unsure where my problem lies. I don't think my query is correct -- @customer.referrals should return an array of all the referrals, which are the customers who have @customer.id as their referring_customer_id.

    Read the article

  • Changing a select input to a checkbox acting as an on/off toggle switch in Rails

    - by Ribena
    I have a set of 7 dropdown inputs allowing admins to say whether they are open or closed for business on a given day. I'd like that changed to 7 open/closed switches (presumably styled checkboxes?) but can't figure out how to do this! Here are the relevant bits of code I currently have (prior to any change): app/view/backend/inventory_pool/edit.html.haml - content_for :title, @inventory_pool = form_for [:backend, @inventory_pool], html: {name: "form"} do |f| .content - if is_admin? %a.button{:href => root_path}= _("Cancel") %button.button{:type => :submit}= _("Save %s") % _("Inventory Pool") %section %h2= _("Basic Information") .inner .field.text .key %h3= "#{_("Print Contracts")}" %p.description .value .input %input{type: "checkbox", name: "inventory_pool[print_contracts]", checked: @inventory_pool.print_contracts} %section#workdays %h2= _("Workdays") .inner - [1,2,3,4,5,6,0].each do |i| .field.text .key %h3= "#{I18n.t('date.day_names')[i]}" .value .input %select{:name => "store[workday_attributes][workdays][]"} %option{:label => _("Open"), :value => Workday::WORKDAYS[i]}= _("Open") %option{:label => _("Closed"), :value => "", :selected => @store.workday.closed_days.include?(i) ? true : nil}= _("Closed") app/models/workday.rb class Workday < ActiveRecord::Base belongs_to :inventory_pool WORKDAYS = ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"] def is_open_on?(date) return false if date.nil? case date.wday when 1 return monday when 2 return tuesday when 3 return wednesday when 4 return thursday when 5 return friday when 6 return saturday when 0 return sunday else return false #Should not be reached end end def closed_days days = [] days << 0 unless sunday days << 1 unless monday days << 2 unless tuesday days << 3 unless wednesday days << 4 unless thursday days << 5 unless friday days << 6 unless saturday days end def workdays=(wdays) WORKDAYS.each {|workday| write_attribute(workday, wdays.include?(workday) ? true : false)} end end And in app/controllers/backend/inventory_pools_controller I have this (abridged): def update @inventory_pool ||= InventoryPool.find(params[:id]) process_params params[:inventory_pool] end def process_params ip ip[:print_contracts] ||= "false" # unchecked checkboxes are *not* being sent ip[:workday_attributes][:workdays].delete "" if ip[:workday_attributes] end

    Read the article

  • counter_cache not updating on the model after save

    - by sehnsucht
    I am using a counter_cache to let MySQL do some of the bookkeeping for me: class Container has_many :items end class Item belongs_to :container, :counter_cache => true end Now, if I do this: container = Container.find(57) item = Item.new item.container = container item.save in the SQL log there will be an INSERT followed by something like: UPDATE `containers` SET `items_count` = COALESCE(`items_count`, 0) + 1 WHERE `containers`.`id` = 57 which is what I expected it to do. However, the container[:items_count] will be stale! ...unless I container.reload to pick up the updated value. Which in my mind sort of defeats part of the purpose of using the :counter_cache in favor of a custom built one, especially since I may not actually want a reload before I try to access the items_count attribute. (My models are pretty code-heavy because of the nature of the domain logic, so I sometimes have to save and create multiple things in one controller call.) I understand I can tinker with callbacks myself but this seems to me a fairly basic expectation of the simple feature. Again, if I have to write additional code to make it fully work, it might as well be easier to implement a custom counter. What am I doing/assuming wrong?

    Read the article

  • Targeting row when responding with js rails

    - by berto77
    I have an application where a user can vote on reviews. They can vote up or down. Now when there's a listing of reviews, I have a problem targeting the review the user voted on. I'm using a respon_to block in my rails controller and responding with js. So for instance, I have a vote_up method, and a vote_up.js.erb template. in that template, I have the following: var id = $('article.comment').attr('id').split('_')[1]; alert("id: " + id); $('.votecomment_' + id).find('.score').html("<%= @review2.vote_total %>"); I'm just alerting the id. The problem is that the id always returns the value of the first review found on the page. How can I pass the context aka this, to javascript, so I can figure out which review to target?

    Read the article

  • Help me with query string parameters (Rails)

    - by Martin Petrov
    Hi, I'm creating a newsletter. Each email contains a link for editing your subscription: <%= edit_user_url(@user, :secret => @user.created_at.to_i) %> :secret = @user.created_at.to_i prevents users from editing each others profiles. def edit @user = user.find(params[:id]) if params[:secret] == @user.created_at.to_i render 'edit' else redirect_to root_path end end It doesn't work - you're always redirected to root_path. It works if I modify it like this: def edit @user = user.find(params[:id]) if params[:secret] == "1293894219" ... 1293894219 is the "created_at.to_i" for a particular user. Do you have any ideas why?

    Read the article

< Previous Page | 335 336 337 338 339 340 341 342 343 344 345 346  | Next Page >