Tag: 视图

显示随机数据库项目以查看 – Rails

我已经研究了这个问题的答案了一段时间,但无法弄明白。 我正在尝试构建一个显示数据库中随机项的视图(我最终将通过按钮单击进行未来的实现)。 我不知道什么是错的。 我有一个名为Answers的脚手架,只显示文字。 在我的Answers Controller中,我构建了一个名为random的自定义方法: def index @answers = Answer.all end def show end def random # @randitem = @items[rand(items.count)] @randanswer = Answer.random_answer end 在我的模特中: class Answer < ActiveRecord::Base def self.random_answer Answer.order("RAND()").first end end 最后,在我的观点/ random.html.erb中: 文件夹截图: 我只是以我的智慧结束,这令人沮丧,因为我觉得这是一个非常简单的问题。 任何建议或有用的资源将不胜感激。

在使用date_select并在Rails中丢弃年份时按顺序保留日期?

我的应用拥有季节性产品的用户。 当用户选择产品时,我们允许他也选择产品的季节。 我们通过让他为每个产品选择开始日期和结束日期来实现这一目标。 我们使用date_select生成两组下拉菜单:一组用于开始日期,一组用于结束日期。 包括年份对我们的模型没有意义。 所以我们使用的选项: discard_year => true 要解释我们的问题,请考虑我们的产品是苹果。 供应商X每年从9月到1月运送苹果。 岁月与此无关,这就是我们使用discard_year => true 。 但是,虽然具体年份无关紧要,但从开始日期到结束日期的相对时间点是相关的。 这就是我们的问题出现的地方。 当你使用discard_year => true ,Rails确实在数据库中设置了一年,它只是没有出现在视图中。 Rails在我们的应用程序中将所有年份设置为0001。 回到我们的苹果示例,这意味着数据库现在认为用户已经选择了0001年1月到1月1月。由于多种原因,这对我们来说是一个问题。 要解决这个问题,我需要实现的逻辑如下: 如果season_start月/日在season_end月/日之前是数字,那么标准的Rails方法就可以了。 但是,如果season_start月/日在season_end月/日之后是数字,那么我需要动态更新数据库字段,使得season_end的年份等于season_start + 1的年份。例如,如果用户选择10月15日到1月15日,他的意图是0001年10月15日至2000年1月15日。我需要该应用程序来反映这一点。 我最好的猜测是我会创建一个自定义方法,在我的产品模型中作为after_save或after_update运行。 但我不确定如何做到这一点。 想法? 有没有人遇到过这个问题? 谢谢!

Rails 3:如果我将内容放在部分内容中,则为“未定义的局部变量或方法”

我有下表 Photo Ratings Average Rating Your Rating 如果我在视图中有它可以正常工作,但是当我把它放在部分_rating.html.erb我得到了 undefined local variable or method ‘msg’ for #<#:0x003463d9f388> 我链接到部分通过 “rating” %> ,我必须添加到部分链接,以便我不会得到错误? 谢谢

如何在rails中正确查看?

我在控制器中使用此选项为每个模型选择了另一个表中的数据: def modelv @model = Model.find(:all, :conditions => { :MOD_MFA_ID => params[:man]}) @ct1 = CountryDesignation.all(:conditions => { :CDS_ID => @model.map(&:MOD_CDS_ID)}) @ct = @ct1.uniq{|hh| hh.CDS_ID} @destext = DesText.find(:all, :conditions => { :TEX_ID => @ct.map(&:CDS_TEX_ID)}) respond_to do |format| format.html # show.html.erb format.xml { render :xml => @model } end end 抱歉脏代码。 和我的看法 %table %tr %th Mfa id […]

在每个“每个do”循环中在Rails中进行基本数学并得到总和

Rails新手! 我有与广告系列相关的产品。 每个@product都有一个.price和.orders_count。 我想要做的是将每个@product的.price与.orders_count相乘,并将它们全部加起来以获得@campaign的总成本。 作为Rails的新手,不知道如何编写语法并在视图中有以下内容。 这是第一件作品,但最后并未全部添加。 谢谢您的帮助!

在视图中使用帮助程序会转义html?

在我的ruby on rails应用程序中,我必须使用递归来呈现嵌套的注释。 因此我决定将渲染卸载到帮助器中的函数中。 该函数的基本结构如下: def display_comments(tree) to_render = “” to_render < ‘comment’, :locals => {:body => tree[:body]}}) tree[:children].each do |child| to_render << display_comment(child) end return to_render end 在视图中我称之为: 0 %> <%= display_comments(tree) 但是,在网页上,rails会转义所有的html,最终看起来像这样:

创建类似于index.html.erb的自定义视图

我正在创建一个自定义视图,它只是对index.html.erb了一些修改。 我希望能够在我的网络应用上创建一个链接,将用户定向到名为list.html.erb自定义视图。 这就是我所做的: 1)复制默认的脚手架索引视图并将其重命名为list.html.erb 2)通过复制index方法并重命名为list来修改GalleriesController : def list @galleries = Gallery.all respond_to do |format| format.html # index.html.erb format.xml { render :xml => @galleries } end end 3)修改routes.rb文件如下: match “galleries/list” => “galleries#list” 我一直收到以下错误: Couldn’t find Gallery with ID=list Rails.root: /Users/scervera/Sites/MDN Application Trace | Framework Trace | Full Trace app/controllers/galleries_controller.rb:28:in `show’ 在我对stackoverflow的搜索中,我无法找到任何类似的问题。

Rails:最终用户可以编辑视图吗?

无论如何,我可以让我的Rails视图中的内容可以被最终用户编辑吗? 这样他们可以在我允许的页面上进行简单的文本更改,而不必让我自己编辑HAML文件? 思考? 澄清: 我了解CMS系统,我认为这完全不是我想要的。 我希望保持对我的视图的编程控制,但有些部分我希望用户能够直接编辑(例如,我仍然需要使用产品,购物车,数据库博客条目等填充页面,但是我希望用户能够编辑“关于我们”页面或“联系我们”页面,或编辑产品类别页面的标题文本,或提供任何这些页面的更新翻译。 我知道我可以将这些部分放在一个数据库中,但由于它只是大量的直接文本,所以对这种方法感觉不对(无法理解我如何干净有效地组织它)。 我可以从文本文件中提取这些东西吗? 在Textile / Markdown中格式化? 这是一种可行的方法吗? 或者是基于数据库的方法可能是要走的路?

如何删除rails中的多个已检查记录?

我想出了如何显示每行的复选框。 问题是我无法找到如何编写form_tag和submit标签,以便使用detele操作将checked rows参数传递给messages_controller。 以及删除操作中要写的内容。 请帮帮我! 我的观点是 delete ID Read Date Sender Subject 和控制器应该是这样的(根据这里https://github.com/frodefi/rails-messaging/blob/master/app/controllers/messaging/messages_controller.rb ) def trash conversation = Conversation.find_by_id(params[:id]) if conversation current_user.trash(conversation) flash[:notice] = “Message sent to trash.” else conversations = Conversation.find(params[:conversations]) conversations.each { |c| current_user.trash(c) } flash[:notice] = “Messages sent to trash.” end redirect_to messages_path(box: params[:current_box]) end route.rb Example::Application.routes.draw do root :to => “top#index” […]

Rails在新控制器中组合RESTful方法

我有一个users创建projects的rails应用程序。 目前这些是嵌套的,并作为单独的操作完成( user注册,然后从project仪表板创建一个新project )。 为了改善转化(以及跟踪来自adwords和facebook的转化),我想创建一个名为getting_started的新视图, user可以从一个视图中一步注册并创建project 。 在最佳实践方面,我应该为此创建一个新的控制器,而不是仅仅在users创建新视图吗?