Search Results

Search found 9825 results on 393 pages for 'ruby'.

Page 262/393 | < Previous Page | 258 259 260 261 262 263 264 265 266 267 268 269  | Next Page >

  • Rails - Seeking a Dry authorization method compatible with various nested resources

    - by adam
    Consensus is you shouldn't nest resources deeper than 1 level. So if I have 3 models like this (below is just a hypothetical situation) User has_many Houses has_many Tenants and to abide by the above i do map.resources :users, :has_many => :houses map.resorces :houses, :has_many => :tenants Now I want the user to be able edit both their houses and their tenants details but I want to prevent them from trying to edit another users houses and tenants by forging the user_id part of the urls. So I create a before_filter like this def prevent_user_acting_as_other_user if User.find_by_id(params[:user_id]) != current_user() @current_user_session.destroy flash[:error] = "Stop screwing around wiseguy" redirect_to login_url() return end end for houses that's easy because the user_id is passed via edit_user_house_path(@user, @house) but in the tenents case tenant house_tenent_path(@house) no user id is passed. But I can get the user id by doing @house.user.id but then id have to change the code above to this. def prevent_user_acting_as_other_user if params[:user_id] @user = User.find(params[:user_id] elsif params[:house_id] @user = House.find(params[:house_id]).user end if @user != current_user() #kick em out end end It does the job, but I'm wondering if there is a more elegant way. Every time I add a new resource that needs protecting from user forgery Ill have to keep adding conditionals. I don't think there will be many cases but would like to know a better approach if one exists.

    Read the article

  • Using twitter gem to signup and authenticate users

    - by Jim Jones
    Hi, I'd like to allow users the option to register using their Twitter account. Basically, I'll present them with a standard signup form (name, login, email, pwd, pwd_confirm) as well as a "Signup with Twitter" link. If a user chooses to signup with Twitter creds, then I'll create a user record in db. Then I'd like to be able to allow a user to authenticate using their Twitter creds on returning visits. Also, I'm using restful_authentication, so I need to have this work within that context. What is the best way to do this? I haven't been to find any tutorials on allowing the signup and authentication pieces. Most examples just show how to authenticate a Twitter user into your app. Thanks.

    Read the article

  • How to overcome an apparent REST vs. DRY dilemma in rails?

    - by Chris
    A rails app I'm working on features examples of quadratic equations. Obviously, these are all of a common structure: ax^2 + bx + c = 0. I don't want to store every single example of these. I'd rather generate them from a template. Storing hundreds of possible versions of this structure seems highly wasteful and un-DRY. On the other hand, if I generate them, I can't access them again reliably as I could if they were simply multiple database objects. I'm sure there must be a way to overcome this, but I'm still learning rails and I'm obviously not grasping something here. Thanks.

    Read the article

  • Accessing an API

    - by Paritosh Praharaj
    I'm trying to build a Rails app where I have to access the Zomato API Could anybody guide me on how to create the Controller and View. Suppose I want to get the name of the restaurant from this URL: Restaurant, how do I write the controller and views for it. Currently, I'm using HTTParty gem. This is my controller code: def restaurants @response = HTTParty.get("https://api.zomato.com/v1/restaurant.json/773", :headers => {"X-Zomato-API-Key" => "MYAPIKEY"}) puts response.body, response.code, response.message, response.headers.inspect @categories = Category.where(:category_name => 'Restaurants') end And I'm trying to get the response object in the view: <%= @response.each do |item| %> <td><%= item.id %></td> <td><%= item.name %></td> <td><%= item.url %></td> <% end %> So, this shows the following error: undefined method 'id' for ["id", 773]:Array

    Read the article

  • Staring Shotgun with Thin as server using SSL

    - by Bryan Paronto
    I have a Facebook app I'm developing locally. I've configure everything correctly to SSL development with Thin. I know that using a shotgun.rb file, I can pass options to Thin to get it to start in SSL mode, but I'm not exact sure how to pass these options. I'm thinking something like: Thin:Server::options[:ssl] = true Thin:Server::options[:ssl_cert_path] = /path/to/cert/ Restarting thin constantly is getting old, so I'd really like to be able to use shotgun in development.

    Read the article

  • Why rails app is redirecting unexpectedly instead of matching the route?

    - by ruevaughn
    I asked this question earlier and thought it was fixed, but it's not. Previous question here My problem is I am trying to set my routes so that when I type in localhost:3000/sites/admin It should redirect to localhost:3000/en/sites/admin here is my routes.rb file scope ":locale", locale: /#{I18n.available_locales.join("|")}/ do get "log_out" => "sessions#destroy", as: "log_out" get "log_in" => "sessions#new", as: "log_in" resources :sites, except: [:new, :edit, :index, :show, :update, :destroy, :create] do collection do get :home get :about_us get :faq get :discounts get :services get :contact_us get :admin get :posts end end resources :users resources :abouts resources :sessions resources :coupons resources :monthly_posts resources :reviews resources :categories do collection { post :sort } resources :children, :controller => :categories, :only => [:index, :new, :create, :new_subcategory] end resources :products do member do put :move_up put :move_down end end resources :faqs do collection { post :sort } end root :to => 'sites#home' match "/savesort" => 'sites#savesort' end match '', to: redirect("/#{I18n.default_locale}") match '*path', to: redirect("/#{I18n.default_locale}/%{path}") But as of right now, it redirects to /en/en/en/en/en/en/en/en/en/en/sites/admin (adds en until browser complains). Any thoughts why it keeps adding /en?

    Read the article

  • Uploading file is not working

    - by VinTem
    I have done the following form <% form_for @anexo, :url => {:action => "create"}, :html => {:multpart => true} do |f| %> <%= f.error_messages %> <p> <%= f.label :descricao, "Descrição"%> <%= f.text_field :descricao %> </p> <p> <%= f.label :arquivo_anexo, "Arquivo Anexo" %> <%= f.file_field :arquivo_anexo %> </p> <p> <%= f.submit "Adicionar anexo" %> </p> <% end %> With a model like this: def arquivo_anexo=(novo_arqquivo) self.arquivo = novo_arquivo.read self.nome = File.basename(novo_arquivo.original_filename) self.content_type = novo_arquivo.content_type.chomp end But when I my file is not been sent through the form. When I check the params array using the debugger the data is not sent. Does anyone have any idea or sugestions? Thanks

    Read the article

  • how do I get foreign_key to work in this simple has_many, belongs_to relationship?

    - by rpflo
    I'm pulling data from Harvest. Here are my two models and schema: # schema create_table "clients", :force => true do |t| t.string "name" t.integer "harvest_id" end create_table "projects", :force => true do |t| t.string "name" t.integer "client_id" t.integer "harvest_id" end # Client.rb has_many :projects, :foreign_key => 'client_id' # not needed, I know # Project.rb belongs_to :client, :foreign_key => 'harvest_id' I'm trying to get the Projects to find their client by matching Project.client_id to a Client.harvest_id. Here is what I'm getting instead. > Project.first.client_id => 187259 Project.first.client => nil Client.find(187259).projects => [] Is this possible? Thanks!

    Read the article

  • how to use variable name with image tag

    - by drake
    my controller uses code like this: if params[:commit] == "Submit" this used to work fine when I just had buttons. however, now I am using images as buttons like below: <%= image_submit_tag 'butons/Add-08.png', :class => 'image-button-submit' %> How can I pass the commit variable with value Submit along with this image_submit_tag?

    Read the article

  • Rails deployment

    - by sreeni
    I need to push my rails code into stating environment from github. And then deploy this app into engineyard in staging environment. Could some please give me step I need follow

    Read the article

  • Partial form with nested routes

    - by jerhinesmith
    I have two models -- User and Entry -- that are related through a has_many relationship (a User has many Entries). I'm using RESTful routing, and have the following in my routes.rb file: map.resource :user, :controller => "users" do |user| user.resources :entries end This seems to work, but in my partial _form file, when I do this: form_for [@current_user, @entry] do |f| # Form stuff end It generates a URL like this: /user/entries.%23%3Cuser:0xb6a6aea8%3E instead of /user/entries Am I missing something? I should note that the correct classes are applied to the form when doing creation vs. editing, so it does seem to be correctly interpreting what I'm trying to do -- it's just that I can't submit the form to an invalid url.

    Read the article

  • Polymorphic :has_many, :through as module in Rails 3.1 plugin

    - by JohnMetta
    I've search everywhere for a pointer to this, but can't find one. Basically, I want to do what everyone else wants to do when they create a polymorphic relationship in a :has_many, :through way… but I want to do it in a module. I keep getting stuck and think I must be overlooking something simple. To wit: module ActsPermissive module PermissiveUser def self.included(base) base.extend ClassMethods end module ClassMethods def acts_permissive has_many :ownables has_many :owned_circles, :through => :ownables end end end class PermissiveCircle < ActiveRecord::Base belongs_to :ownable, :polymorphic => true end end With a migration that looks like this: create_table :permissive_circles do |t| t.string :ownable_type t.integer :ownable_id t.timestamps end The idea, of course, is that whatever loads acts_permissive will be able to have a list of circles that it owns. For simple tests, I have it "should have a list of circles" do user = Factory :user user.owned_circles.should be_an_instance_of Array end which fails with: Failure/Error: @user.circles.should be_an_instance_of Array NameError: uninitialized constant User::Ownable I've tried: using :class_name => 'ActsPermissive::PermissiveCircle' on the has_many :ownables line, which fails with: Failure/Error: @user.circles.should be_an_instance_of Array ActiveRecord::HasManyThroughSourceAssociationNotFoundError: Could not find the source association(s) :owned_circle or :owned_circles in model ActsPermissive::PermissiveCircle. Try 'has_many :owned_circles, :through => :ownables, :source => <name>'. Is it one of :ownable? while following the suggestion and setting :source => :ownable fails with Failure/Error: @user.circles.should be_an_instance_of Array ActiveRecord::HasManyThroughAssociationPolymorphicSourceError: Cannot have a has_many :through association 'User#owned_circles' on the polymorphic object 'Ownable#ownable' Which seems to suggest that doing things with a non-polymorphic-through is necessary. So I added a circle_owner class similar to the setup here: module ActsPermissive class CircleOwner < ActiveRecord::Base belongs_to :permissive_circle belongs_to :ownable, :polymorphic => true end module PermissiveUser def self.included(base) base.extend ClassMethods end module ClassMethods def acts_permissive has_many :circle_owners, :as => :ownable has_many :circles, :through => :circle_owners, :source => :ownable, :class_name => 'ActsPermissive::PermissiveCircle' end end class PermissiveCircle < ActiveRecord::Base has_many :circle_owners end end With a migration: create_table :permissive_circles do |t| t.string :name t.string :guid t.timestamps end create_table :circle_owner do |t| t.string :ownable_type t.string :ownable_id t.integer :permissive_circle_id end which still fails with: Failure/Error: @user.circles.should be_an_instance_of Array NameError: uninitialized constant User::CircleOwner Which brings us back to the beginning. How can I do what seems to be a rather common polymorphic :has_many, :through on a module? Alternatively, is there a good way to allow an object to be collected by arbitrary objects in a similar way that will work with a module?

    Read the article

  • How to perform Rails model validation checks within model but outside of filters using ledermann-rails-settings and extensions

    - by user1277160
    Background I'm using ledermann-rails-settings (https://github.com/ledermann/rails-settings) on a Rails 2/3 project to extend virtually the model with certain attributes that don't necessarily need to be placed into the DB in a wide table and it's working out swimmingly for our needs. An additional reason I chose this Gem is because of the post How to create a form for the rails-settings plugin which ties ledermann-rails-settings more closely to the model for the purpose of clean form_for usage for administrator GUI support. It's a perfect solution for addressing form_for support although... Something that I'm running into now though is properly validating the dynamic getters/setters before being passed to the ledermann-rails-settings module. At the moment they are saved immediately, regardless if the model validation has actually fired - I can see through script/console that validation errors are being raised. Example For instance I would like to validate that the attribute :foo is within the range of 0..100 for decimal usage (or even a regex). I've found that with the previous post that I can use standard Rails validators (surprise, surprise) but I want to halt on actually saving any values until those are addressed - ensure that the user of the GUI has given 61.43 as a numerical value. The following code has been borrowed from the quoted post. class User < ActiveRecord::Base has_settings validates_inclusion_of :foo, :in => 0..100 def self.settings_attr_accessor(*args) >>SOME SORT OF UNLESS MODEL.VALID? CHECK HERE args.each do |method_name| eval " def #{method_name} self.settings.send(:#{method_name}) end def #{method_name}=(value) self.settings.send(:#{method_name}=, value) end " end >>END UNLESS end settings_attr_accessor :foo end Anyone have any thoughts here on pulling the state of the model at this point outside of having to put this into a before filter? The goal here is to be able to use the standard validations and avoid rolling custom validation checks for each new settings_attr_accessor that is added. Thanks!

    Read the article

  • rails named_scope issue with eager loading

    - by Craig
    Two models (Rails 2.3.8): User; username & disabled properties; User has_one :profile Profile; full_name & hidden properties I am trying to create a named_scope that eliminate the disabled=1 and hidden=1 User-Profiles. Moreover, while the User model is usually used in conjunction with the Profile model, I would like the flexibility to be able specify this using the :include = :profile syntax. I have the following User named_scope: named_scope :visible, { :joins => "INNER JOIN profiles ON users.id=profiles.user_id", :conditions => ["users.disabled = ? AND profiles.hidden = ?", false, false] } This works as expected when just reference the User model: >> User.visible.map(&:username).flatten => ["user a", "user b", "user c", "user d"] However, when I attempt to include the Profile model: User.visible(:include=> :profiles).profile.map(&:full_name).flatten I get an error that reads: NoMethodError: undefined method `profile' for #<User:0x1030bc828> Am I able to cross model-collection boundaries in this manner?

    Read the article

  • Rails address and routes?

    - by Danny McClelland
    Hi Everyone, I have created a custom action within one of my controlers as follows: # GET /kases/discharge/1 # GET /kases/discharge/1.xml def discharge @kase = Kase.find_by_jobno(params[:id]) respond_to do |format| format.html { } # discharge.html.erb format.xml { render :xml => @kase } format.pdf { render :layout => false } prawnto :prawn => { :background => "#{RAILS_ROOT}/public/images/discharge.png", :left_margin => 0, :right_margin => 0, :top_margin => 0, :bottom_margin => 0, :page_size => 'A4' } end end For the edit actions etc the link would be link_to edit_kase_path(@kase) Is there a way of linking to the discharge action already, or do I have to make a custom route? Thanks, Danny

    Read the article

  • RSpec: Expectation on model's not working while testing controller

    - by gmile
    I'm trying to write a functional test. My test looks as following: describe PostsController do it "should create a Post" do Post.should_receive(:new).once post :create, { :post => { :caption => "ThePost", :category => "MyCategory" } } end end My PostsController (a part of it actually) looks as following: PostController < ActiveRecord::Base def create @post = Post.new(params[:post]) end end Running the test I'm always receiving a failure, which says that the Post class expected :new but never got it. Still, the actual post is created. I'm a newbie to RSpec. Am I missing something?

    Read the article

  • Formtastic with Mongoid embedded_in relations

    - by miah
    Is there any quick way to make a form for embeds_many-embedded_in relation? I have the following: class Team include Mongoid::Document field :name, :type => String embeds_many :players end class Player include Mongoid::Document embedded_in :team, :inverse_of => :players field :name, :type => String end I want to create a form for team with embedded editing for players. Seen https://github.com/bowsersenior/formtastic_with_mongoid_tutorial but "TODO" there.

    Read the article

  • Rails form helper and RESTful routes

    - by Jimmy
    Hey guys, I have a form partial current setup like this to make new blog posts <% form_for([@current_user, @post]) do |f| %> This works great when editing a post, but when creating a new post I get the following error: undefined method `user_posts_path' for #<ActionView::Base:0x6158104> My routes are setup as follows: map.resources :user do |user| user.resources :post end Is there a better way to setup my partial to handle both new posts and editing current posts?

    Read the article

  • Can 'locals' be used with 'collection' when rendering partials in Rails?

    - by Gav
    Everything works okay when I try to render a partial like this: = render :partial => "/shared/enquiry/car_type", :collection => @enquiry.available_car_types However, if I also want to pass a variable (in this case 'path', because I'm sharing this partial across two forms), the path is not available to me: = render :partial => "/shared/enquiry/car_type", :collection => @enquiry.available_car_types, :locals => {:path => customers_enquiry_path} I've tried moving things around, but nothing appears to work, leading me to believe one cannot use locals with collections. Any help would be appreciated. Gav

    Read the article

  • How to make a control invisible?

    - by Nakilon
    I've made several TextCtrls and Button, but currently users of my application don't want to see them. So I have to hide them temporary (for current build). Here they are: class MainFrame < Wx::Frame def initialize (parent = nil) super nil,:title=>"sometitle",:size=>[600,600] set_sizer Wx::BoxSizer.new Wx::VERTICAL @tag1 = Wx::TextCtrl.new self sizer.add_item @tag1,:flag=>Wx::RIGHT|Wx::EXPAND @tag1.set_value 'property' @tag1title = Wx::TextCtrl.new self sizer.add_item @tag1title,:flag=>Wx::RIGHT|Wx::EXPAND @tag1title.set_value 'title' @tag2 = Wx::TextCtrl.new self sizer.add_item @tag2,:flag=>Wx::RIGHT|Wx::EXPAND @tag2.set_value 'description' @tag2title = Wx::TextCtrl.new self sizer.add_item @tag2title,:flag=>Wx::RIGHT|Wx::EXPAND @tag2title.set_value '' @button_parse = Wx::Button.new self sizer.add_item @button_parse @button_parse.label = "Parse XML" evt_button @button_parse, :click_parse # ...... end # ...... end I see nothing about it in docs and Google is also not a friend for me today.

    Read the article

  • What is a better way to convert a simple sinatra app to static html pages?

    - by dimus
    A friend of mine asked to create a static website and I found that making such site using Sinatra is a pure joy. I just wrote all my routes like this: get '/index.html' do haml :index end get '/app.css' do sass :app end .... So I was able to use layouts, and haml and sass to put site together quickly. To create the static site I used wget -r -l2 http://localhost:4567 Which did work pretty well, but I imagine there is a better way to create a static site from a Sinatra code?

    Read the article

  • Why are my ActiveRecord class instance variables disappearing after the first request in development

    - by Paul C
    I have a class instance variable on one of my AR classes. I set its value at boot with an initializer and, after that, never touch it again except to read from it. In development mode, this value disappears after the first request to the web server. However, when running tests, using the console or running the production server this does not happen. # The AR class class Group < ActiveRecord::Base class << self attr_accessor :path end end # The initializer Group.path = File.join(RAILS_ROOT, "public", "etc") # First request in a view %p= Group.path #=> "/home/rails/app/public/etc" # Second request in a view %p= Group.path #=> nil Is there something about development mode that nukes instance variables from classes with each request? If so, is there a way to disable this for specific variables or classes?

    Read the article

< Previous Page | 258 259 260 261 262 263 264 265 266 267 268 269  | Next Page >