Tag: 资源

RAILS:使用calendar_for预订一段时间后资源的可用性

我正在为Rails中的可数资源租赁编写预订系统。 资源所有者希望看到随时间预订的总资源量百分比。 calendar_for gem似乎是不错的选择,除了我找不到在一段时间内显示这个百分比的方法。 假设,总资源为100: 客户 – 2013年1月12日至2013年2月20日的书籍20个单位。 客户-B书从2013年1月15日至2013年3月1日30个单位。 我想看看预订的容量 从2013年12月12日到2013年1月14日= 20%(仅限客户A预订) 2013年1月15日至2013年2月20日= 50%(20 + 30)(从客户A和客户B预订) 2013年2月21日至2013年3月1日= 30%(仅限客户B预订) 渐渐地,我收集了这些gem gem’事件日历’ gem’table_builder’ gem’watu_table_builder’ gem’calendar_date_select’ 下面的代码是着名的RailsCast#213课程的复制品。 index_calendar.html.erb @date.year, :month => @date.prev_month.month) do |calendar| %> :from_date) do |date, bookings| %> 替代是: 这个我试过结合booking.rb两种方法: 这显示了from_date(即开始时)预订单位的百分比 def capacity @a=Resource.find_by_id(self.resource_id).units [(self.units/@a*100).to_s + “%”].join end 这只显示from_date的预订总数 def total_capacity(day) @wall=Booking.joins(:resource). where(“#{day}#{day}”).sum(:units) end 预订模型包含以下字段: :从日期, […]

Rails:资源和表单

前言:我不确定资源是什么。 我需要这个表单(通过user/sign_up路由工作)才能在我的“离线页面”上工作 – 因此用户仍然可以在我的应用程序关闭时进行注册。 我的application_controller调用:filter_before, :except => [:offline] ,我的registrations_controller有一个:skip_filter_before动作。 (它被称为行动吗?) resource_name, :url => registration_path(resource_name)) do |f| %> 我的Registration_controller: class RegistrationsController redirect_location(resource_name, resource) else set_flash_message :notice, :inactive_signed_up, :reason => resource.inactive_message.to_s if is_navigational_format? expire_session_data_after_sign_in! respond_with resource, :location => after_inactive_sign_up_path_for(resource) end else clean_up_passwords(resource) respond_with_navigational(resource) { render_with_scope :new } end end … end 路线: confirm_account /confirm_account(.:format) {:controller=>”confirmations”, :action=>”confirm_account”} sign_up […]

Rails路由与日期

我的问题是关于在rails应用程序的路由中按日期使用filter,目前我已经准备好了匹配routes.rb文件中日期模式的规则,它看起来像这样: match “itineraries/:day/:month/:year” => “itineraries#index”, :constraints => { :year => /\d{4}/, :month => /\d{2}/, :day => /\d{2}/ } match “itineraries/new/:day/:month/:year” => “itineraries#new”, :constraints => { :year => /\d{4}/, :month => /\d{2}/, :day => /\d{2}/ } resources :itineraries match ‘/:controller(/:action(/:id))’ root :to => “itineraries#index” 那个匹配例如/ itineraries / 01/01/2011,问题来自我从资源生成路由,例如,itineraries_path(:year => 2011,:month => 1,:day => 1)生成: /行程?天= 1个月= […]

如何使用Inherited Resources Rails插件基于成功或失败自定义Flash消息?

我在2.3.5 Rails应用程序中使用inheritance的资源插件,并且想知道如何根据我的创建和更新操作中的成功或失败来更改flash [:notice](或任何其他flash)。 因此,如下所示,如果成功,我如何添加flash [:notice] =“All good”…如果失败,闪存[:notice] =“All bad”? 谢谢 class ArticleController [:create, :update] def create #init new game @article = Article.new set_article_attributes_from_app @article.is_published = params[:article_publish_to_web] || false @ article.game_source = @client_application create! do |success, failure| success.html {redirect_to(@article)} success.json {render :json => {:id=>@article.id, :created_at=>@article.created_at, :picture_urls=> @article.assets.map { |a| root_url.chop + a.photo.url}}} failure.html {render :action => […]

如何从rails中的嵌套资源进行路由? 在UsersController#show中获取’ActiveRecord :: RecordNotFound’

我有一个游戏屏幕,其中包含一个返回玩家统计页面的链接。 我的测试用户ID为0,我的地址为1。 所以游戏界面的url是/users/0/mines/1 从游戏玩法回到玩家统计数据的按钮如下所示: User_path似乎是正确的,但当我点击它时,我有错误: Couldn’t find User with ‘id’=1 def find_user @user = User.find(params[:id]) end (这是我用户控制器的私有查找用户方法。)出于某种原因,它抓取MINES id(1),而不是用户id(0)! 我使用的路线是这样的: user GET /users/:id(.:format) users#show 我的控制器看起来像这样: # This is ‘Headquarters’, HQ… def show @user = User.find(params[:id]) @mine = @user.mines.first @tool = Tool.find(@user.tool_id) end private def find_user @user = User.find(params[:id]) end (i have a before_action :find_user :show) 从游戏玩法回到用户统计数据时,我是否需要制作自定义路线以获取该用户ID? […]

在嵌套资源中自动添加父模型ID

使用Rails 3中的嵌套资源路由,如下所示: resources :magazines do resources :ads end 我已经定义了诸如magazine_ad_path类的助手,我必须同时传递杂志和广告,如果我只是引用了广告,这是不方便的: magazine_ad_path(@ad.magazine, @ad) 有没有一种很好的方法来设置一个ad_path帮助器,它接受@ad并返回包含杂志ID的相应地址? (这样也可以使用link_to @ad , redirect_to @ad等,它会自动调用与模型类对应的ad_path助手。)

使用单个标识符RESTful嵌套资源路由

在我的Rails应用程序中,我在两个实体之间有一个相当标准的has_many关系。 Foo有零个或多个Bars ; 一个Bar恰好属于一个Foo 。 Foo和Bar都由单个整数ID值标识。 这些值在所有各自的实例中都是唯一的。 Bar的存在依赖于Foo:拥有没有Foo的Bar是没有意义的。 有两种方法可以RESTful地引用这些类的实例。 给定Foo.id为“100”且Bar.id为“200”: 通过他们自己的“顶级”URL路由引用每个Foo和Bar,如下所示: /富/ 100 /棒/ 200 参考栏通过其Foo实例作为嵌套资源: /富/ 100 /富/ 100 /酒吧/ 200 我喜欢#2中的嵌套路由,因为它更接近地表示实体之间的实际依赖关系。 然而,它似乎涉及很多额外的工作,收益很少。 假设我知道一个特定的酒吧,我不需要被告知特定的Foo; 我可以从Bar本身那里得到它。 事实上,我可能应该在任何地方validation路由Foo(这样你就不能做/ foo / 150 / bar / 200,假设Bar 200没有分配给Foo 150)。 最终,我看不出这给我带来了什么。 那么,是否有任何其他论据支持或反对这两种路由方案? 澄清点 我主要关注特定Bars的RESTful更新/显示/删除。 为了获得特定Foo的Bar列表(通常是Rails中的“索引”动作),有一个嵌套路由,如/ foo / 100 / bar,这是完全合理的。 这条路线上的页面可以很容易地链接到/ bar / x和/ foo / 100 / bar […]

在rails中的单个RESTful POST中创建多个资源

我正在使用rails创建一个API来暴露给我正在处理的iPhone应用程序。 据我所知,通常只有在发布到Rails中控制器的create动作时才创建单个资源。 但是,我不确定一次创建多个资源的最佳方法。 在单个POST中发布包含多个资源的JSON / XML是否可以在同一类型中创建? 例如,创建邮件然后添加许多收件人。 消息本身有一个模型,然后是属于该消息的收件人的模型。 我通过发布到/消息来创建消息,但如果我有50个收件人要添加到该消息,该怎么办? 对/ messages / 1 /收件人进行50次单独的POST似乎过度且浪费。 最好的方法是什么? 我是Rails和RESTful应用程序的新手,非常感谢任何帮助。

如何在Rails的map.resources()中重命名默认标识符param“id”?

我喜欢Rail的map.resources生成的所有默认路由。 但是,有些情况下我想在我的路线中使用非数字标识符。 例如,如果嵌套路由由用户及其文章组成,则可以按如下方式编写标准路由: map.resources :users, :has_many => [:articles] # => eg ‘/users/:id/articles/:id’ 但是,有许多优点/原因不使用Rails生成的默认数字标识符。 有没有办法将默认值:id params替换为我选择的另一个规范标识符,而不会为每个标准操作编写自定义路由? 如果我想要一个以下格式的路线: ‘/users/:login/articles/:id’ 这种路线是否可以使用map.resources实现?

有没有办法在rails中构建单例资源?

如果你正在使用一个单一的资源,脚手架的常规方法不起作用,有没有办法通过脚手架获得默认的奇异控制器? 假如一个用户只有一个post,那么就可以运行一个简单的命令: rails g scaffold post -singular